精通CSS:高級Web標準解決方式(第2版)
阿新 • • 發佈:2017-07-15
avi css dsm table 段落 空元素 支持 :after med
精通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’
- .clearFloat:after { content:"."; height:0; visibility:hidden; display:block; clear:both; }
- p56 利用背景圖象創建項目符號
- p65 圓角框在CSS 3裏非常easy處理,在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 遠距離翻轉:實際上非常easy,讓錨元素包住一個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-中,擁有布局的元素會錯誤地擴展以適應內容尺寸 ...
- 設置下面屬性會使元素擁有布局:float、display:inline-block;、width/height、zoom、writing-mode:tb-rl;
- hack和過濾器(略)
- IE 6-上的常見bug:
- 不論什麽浮動元素的margin加倍???改為display:inline;
- 3px文本偏移
- 一系列浮動元素的最後元素的最後幾個字符反復:刪除凝視(。
。
。!)
- *IE6的‘peek-a-boo’bug
- *相對容器中的絕對定位(o, i c,shit):.rel-container{height:1%;}
- IE的‘擁有布局’(hasLayout)
- 案例研究
- Roma Italia
- Cufon?[email protected]t-face(???):所選字體的EULA必須同意在Web上進行字體嵌入
- Climb the Mountains
- :first-child
- 組合class
- Roma Italia
精通CSS:高級Web標準解決方式(第2版)