CSS兼容性問題以及解決方案

*H5標籤兼容:header    section     footer  等

       使用js創建標籤document.creatElement("header");

*元素浮動之後,能設置寬度的話,就給元素加寬度,如果需要寬度是內容撐開,就給它裏面的快元素加上浮動

       清理浮動:overflow:hidden;

*第一塊元素浮動,第二塊加margin值等於第一塊元素,在IE6下會有間隙問題

        1.不建議這麼寫

        2.用浮動解決,兩邊都浮動

*IE6下子元素超出父級寬高,會把父級的寬高撐開

     不要讓子元素的寬高超過父級

*p包含塊元素嵌套規則(塊元素不能再嵌套塊元素:p;td;h1~h6)

     不嵌套


*margin兼容性問題

     magrin-top傳遞:觸發BFC及haslayout

     上下magrin疊壓:儘量使用同一方向的magrin

*display:inline-block (IE6不支持)

     display:inline;  zoom:1;

*IE6最小高度問題:19px

    overflow:hindden;

*IE6雙邊距:當元素浮動後再設置margin那麼就會產生雙邊距

   針對IE6,IE7添加:display:inline

*li裏元素都浮動,li在IE6,IE7下方會產生4px間隙問題

   添加vertial-align:top;

*浮動元素之間註釋,導致多複雜一個文字問題

   1.兩個浮動元素中間避免出現內聯元素或者註釋

    2.與父級寬度相差3px或以上

*IE6,IE7父級元素的overflow:hidden是包不住子級的relative

   給父級添加相對定位

*IE6下絕對定位元素父級寬高是奇數,絕對定位元素的right和bottom值會有1px的偏差

   避免父級寬高出現奇數

*IE6下絕對定位元素和浮動元素並列(同級)絕對定位元素消失

   不處於同級就可以避免該bug

*IE6下input的空隙

   給input添加浮動/float

*IE6下輸入類型表單控件背景問題

   設置background-attachment:fixed


CSS Hack:針對不同瀏覽器寫不同的樣式:

 \9所有的IE9及以前:background:blue\9;

*屬性 IE7及以下:*background:green;

_屬性 IE6以及的   _background:yellow;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章