CSS的兼容性

1.<div class="content float1"></div>以上這種寫法:同一個HTML元素可以添加多個類名稱,多個類名稱之間用空格隔開。

2.瀏覽器兼容性簡介

因爲CSS代碼是由瀏覽器軟件來進行解釋的,每個瀏覽器廠商到CSS標準執行的不是太完善。

同一個網頁,在不同瀏覽器下顯示的效果不一樣,這種現象就是“不兼容”。

最不兼容的瀏覽器是:IE6、IE7、IE8

3.瀏覽器市場份額統計:http://tongji.baidu.com/data/browser

4.IE低版本瀏覽器兼容性測試軟件:IETester

5.全局CSS設置(頁面常用的元素和類直接用全局CSS進行設置,統一格式,防止不兼容)

(1)清除所有HTML元素的內外邊距

html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5,h6, form, fieldset, legend, img { margin:0; padding:0; }

(2)項目符號和編號

ul,ol,li{list-style:none;}

(3)圖片要去除邊框線

       img{border:none;}

(4)標題標記的設置

       h2{font-size:24px;padding:8px 0px;}

       h4{font-size:16px;padding:5px 0px;}

(5)全局鏈接的設置

       a:link,a:visited{color:#0000ff;text-decoration:none;}

       a:hover{color:#ff0000;text-decoration:underline;}

(6)常用全局的類樣式

       .clear{clear:both;}

       .float1{float:left;}

       .float2{float:right;}

       .blank10{height:10px;clear:both;}

       .red{color:#FF0000;}

       .blue{color:#0000FF;}

       #noLine{border:none;}

6.常用兼容性技巧

(1)網站主頁絕對居中:不管在任何瀏覽器中,都能實現主頁居中。

       在Firefox中,使用 margin:0pxauto; 來實現主頁居中。

       在IE中,使用 text-align:center 來實現主頁居中。

 

body{

       font-size:12px;

       color:#444;

       text-align:center;/*IE中居中寫法,這個寫法雖然解決了在IE5中主頁居中的問題,但是頁面內所有的文字都會居中,那麼需要主頁的內容用一個div(類名爲box)套起來,然後讓box中的文字變回原來的左對齊*/

       background:#ccc url(../images/bg-body.gif) repeat-x;

}

.box{

width:980px;

margin:0px auto;

text-align:left;

}

(2)單行文本上下中齊

       h2{

              height:45px;

              line-height:45px;

}

(3)實現1px高的<div>的容器

.box{

       height:1px;

       overflow:hidden; /*在IE6下,IE6默認div至少是一個漢字的高,無法做到1px,增加多這個設置,就可以做到,使超出的部分隱藏起來*/

       background-color:#FF0000;

}

(4)光標類型

       .box{

              cursor:pointer;   /*手形*/  光標類型還有: helpwaittext

}

(5)上下外邊距合併(儘量少用margin)

       上下兩個元素的外邊距,會自動合併,並取其中較大的一個(所有瀏覽器都是)。

       我們解決的辦法是:

       (1)只指定其中一個元素的下外邊距或上外邊距。

.div1{

       width:300px;

       height:100px;

       background-color:#FF0000;

       margin:20px 20px 70px;

}

.div2{

       width:300px;

       height:100px;

       background-color:#0000FF;

       margin:0px 50px 50px;

}

       (2)兩個元素的中間外邊距都取消,使用一個空的<div>,並指定一個高度,放在兩個元素的中間。

              <div class="div1"></div>

<divstyle="height:70px;"></div>

<div class="div2"></div>

(6)左右外邊距加倍(IE6下的一個現象,浮動後,設置margin,左邊距加倍)

.box{

       width:400px;

       height:100px;

       margin:50px;

       float:left;

       display:inline; /*將塊元素轉成行內元素*/

       background-color:#FF0000;

}

也可以使用hack技巧,在margin下寫_margin:50px,這種寫法只有IE6支持,會覆蓋上面的margin設置。

7.CSS HACK

針對不同瀏覽器編寫CSS代碼的過程,稱爲CSS HACK。如:寫一段只有IE6瀏覽器支持的CSS代碼。

body{

       background-color:#FF0000;  /*所有瀏覽器都支持*/ 範圍大的放在最上邊

       *background-color:#00FF00; /*IE6IE7支持*/

       _background-color:#0000FF; /*只有IE6支持*/支持範圍最小的放在最小邊

}    

 

注意:

       CSS HACK雖然能解決部分CSS兼容性的問題,但必竟不是W3C推薦的規範標準,因此儘量少用。

       平常我們寫CSS代碼,多用標準CSS寫法,實在不行,偶爾用一下CSS HACK

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