精通CSS:高級Web標準解決方案(第2版)_html/css_WEB-ITnose
來源:懂視網
責編:小采
時間:2020-11-27 15:57:34
精通CSS:高級Web標準解決方案(第2版)_html/css_WEB-ITnose
精通CSS:高級Web標準解決方案(第2版)_html/css_WEB-ITnose:精通CSS:高級Web標準解決方案(第2版) 跳轉至: 導航、 搜索 層疊重要度:(也就是說,用戶!important可以覆蓋inline style) !important、用戶>作者、最后是瀏覽器/用戶代理 規則特殊性(次序)的計算:a,b,c,d 如果相同,后定義的優先
導讀精通CSS:高級Web標準解決方案(第2版)_html/css_WEB-ITnose:精通CSS:高級Web標準解決方案(第2版) 跳轉至: 導航、 搜索 層疊重要度:(也就是說,用戶!important可以覆蓋inline style) !important、用戶>作者、最后是瀏覽器/用戶代理 規則特殊性(次序)的計算:a,b,c,d 如果相同,后定義的優先

精通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(一般用于用戶評論)
- position:float:可以(脫離文檔流)左右移動,直到碰到包含框(containing box)或另一個浮動框
- 如果包含塊(containing block?)無法水平容納下所有元素,其他float元素將下移
- 文本元素會受float的影響,造成類似于WORD‘文字環繞’的效果
- 要阻止之,對這些文本行clear float。
- 可使用一個空元素clear:both,使得父容器包含浮動元素。(也可以直接float容器,但這會影響下一個元素)
- .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:-5000px; 對于關閉圖象但打開CSS的情況無效
- sIFR(JS+Flash)
- p87 CSS 3允許:target偽類?(恩,這么做沒有信息泄露問題)
- 外鏈樣式(常見于Wiki)
- p92 文本在行框中總是垂直居中的(??),設置line-height即可,使用height會導致文本不是垂直居中,從而必須設置額外的padding
- CSS Tooltip:不如最簡單的title屬性吧?
- p105 在導航條中突出顯示當前頁面:使用2個ID,其中一個應用到body元素上,進行組合匹配(這樣,導航條的后臺不需要特殊處理。。)酷!
- p114 IE老版本不支持在非錨元素上使用:hover,可以用JS或.htc行為文件啟用這個功能
- CSS圖象映射:用一個div包住img,設置其大小等于圖象并position:relative; 然后讓各個li元素相對于div定位,用:hover顯示border線。。
- p129 遠距離翻轉:實際上很簡單,讓錨元素包住一個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!(哈哈,我覺得可以出一個在線的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文本偏移
- 一系列浮動元素的最后元素的最后幾個字符重復:刪除注釋(。。!)
- *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
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
精通CSS:高級Web標準解決方案(第2版)_html/css_WEB-ITnose
精通CSS:高級Web標準解決方案(第2版)_html/css_WEB-ITnose:精通CSS:高級Web標準解決方案(第2版) 跳轉至: 導航、 搜索 層疊重要度:(也就是說,用戶!important可以覆蓋inline style) !important、用戶>作者、最后是瀏覽器/用戶代理 規則特殊性(次序)的計算:a,b,c,d 如果相同,后定義的優先