您當前位置:
首頁 >
互聯網 > 精通CSS:高級Web標準解決方案(第2版)
精通CSS:高級Web標準解決方案(第2版)
來源:程序員人生 發布時間:2014-11-12 08:40:10 閱讀次數:4016次
精通CSS:高級Web標準解決方案(第2版)
跳轉至:
導航、
搜索
- 層疊重要度:(也就是說,用戶!important可以覆蓋inline style)
- !important、用戶>作者、最后是閱讀器/用戶代理
- 規則特殊性(次序)的計算:a,b,c,d 如果相同,后定義的優先
- 如果是inline style,a=1
- b=ID選擇器(#id)的個數
- c=類、偽類、屬性選擇器的個數
- d=類型、偽元素選擇器的個數
- => 大網站復雜內容情況下如何管理規則次序???
- @import比link慢?
- p41 (垂直)margin疊加(=max(upper's margin-bottom, down's margin-top))
- 元素嵌套包括、空元素都會產生疊加
- only for 普通文檔流的block框,inline、float、position:absolute的不會疊加
- inline:設置高度、寬度沒有作用,line-height
- => inline-block
- 沒法直接對{匿名block、文本line框}利用樣式
- position:relative:可以指定left、top“相對”原來位置,元素依然占據原來的空間
- position:absolute:元素不占據文檔流空間(這相當于提升其z-index?)
- 相對距離它最近的先人元素定位(由此可以看出CSS是先定位先人元素,后子孫元素的?)
- position:fixed:相對viewport(1般用于用戶評論)
- position:float:可以(脫離文檔流)左右移動,直到碰到包括框(containing box)或另外一個浮動框
- 如果包括塊(containing block?)沒法水平容納下所有元素,其他float元素將下移
- 文本元素會受float的影響,造成類似于WORD‘文字環繞’的效果
- 要禁止之,對這些文本行clear float。
- 可以使用1個空元素clear:both,使得父容器包括浮動元素。(也能夠直接float容器,但這會影響下1個元素)
- .clearFloat:after { content:"."; height:0; visibility:hidden; display:block; clear:both; }
- IE 6-中的‘Holly hack’
- p56 利用背景圖像創建項目符號
- p65 圓角框在CSS 3里很容易處理,在CSS 2.1時期的各種tricks略過
- 9切分的border-image: url(user-corner.gif) 25% 25% 25% 25% / 25px round round;
- CSS投影:box-shadow
- CSS視差:background-position: 20% 0;
- 圖像替換(CSS 2.1):
- FIR:文本的display:none造成不合適屏幕瀏覽器
- Phark:使用text-indent:⑸000px; 對關閉圖像但打開CSS的情況無效
- sIFR(JS+Flash)
- p87 CSS 3允許:target偽類?(恩,這么做沒有信息泄漏問題)
- 外鏈樣式(常見于Wiki)
- p92 文本在行框中總是垂直居中的(??),設置line-height便可,使用height會致使文本不是垂直居中,從而必須設置額外的padding
- CSS Tooltip:不如最簡單的title屬性吧?
- p105 在導航條中突出顯示當前頁面:使用2個ID,其中1個利用到body元素上,進行組合匹配(這樣,導航條的后臺不需要特殊處理。。。)酷!
- p114 IE老版本不支持在非錨元素上使用:hover,可以用JS或.htc行動文件啟用這個功能
- CSS圖像映照:用1個div包住img,設置其大小等于圖像并position:relative; 然后讓各個li元素相對div定位,用:hover顯示border線。。。
- p129 遠距離翻轉:實際上很簡單,讓錨元素包住1個div/span/li,然后用絕對定位把這些包括元素移動到頁面其他位置,設置錨元素的:hover便可。
- p136 table元素border的2種模型:collapse|separate
- 表單元素
- fieldset:分塊標題(Group Panel/Box)
- label的2種使用方式:嵌套包括input;使用for屬性關聯input(id)
- p153 ‘所有CSS布局的根本都是3個基本概念:定位、浮動、margin操縱。’
- IE 6-不支持margin:auto; 榮幸的是,IE把text-align:center;誤解為讓所有東西居中,而不單單是文本(。。。)
- p159 在符合標準的閱讀器中,如果元素的內容太大,它只會超越box以外。但是,IE會擴大全部元素(。。。-_-)
- 3列布局:分解為2個嵌套的兩列布局???
- p164 流式布局:+ min-width!(哈哈,我覺得可以出1個在線的CSS考試系統了,題目就是精確到px的布局,要JS進行檢驗效果對不對。。。哈)
- p166 彈性布局:相對字號(em單位)布局(對支持頁面縮放的閱讀器而言沒有必要)
- body{font-size:62.5%;} 只以em為單位設置容器的寬度,內部寬度依然使用%
- p170 faux列(略)
- bug與修復bug
- IE的‘具有布局’(hasLayout)
- 設置以下屬性會使元素具有布局:float、display:inline-block;、width/height、zoom、writing-mode:tb-rl;
- IE7中增加了:overflow、min-width:任何值、max-width:除none外任何值
- 例如:IE中文本段落具有布局,不會出現環繞float元素的效果
- 又如:IE 6-中,具有布局的元素會毛病地擴大以適應內容尺寸 ...
- hack和過濾器(略)
- IE 6-上的常見bug:
- 任何浮動元素的margin加倍???改成display:inline;
- 3px文本偏移
- 1系列浮動元素的最后元素的最后幾個字符重復:刪除注釋(。。。!)
- *IE6的‘peek-a-boo’bug
- *相對容器中的絕對定位(o, i c,shit):.rel-container{height:1%;}
- 案例研究
- Roma Italia
- Cufon?用所選的字體顯示html,不需要任何圖像或@font-face(???):所選字體的EULA必須允許在Web上進行字體嵌入
- Climb the Mountains
- :first-child
- 組合class
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
------分隔線----------------------------
------分隔線----------------------------