淺析CSS在IE6、IE7、IE8中的兼容差異
你對(duì)CSS在IE6、IE7、IE8中的兼容差異解析是否了解,這里和大家分享一下,IE6、IE7、IE8所占市場(chǎng)份額之間的數(shù)值很接近,這防止了單個(gè)Microsoft的瀏覽器占居統(tǒng)治地位——與過(guò)去的情況相反。
CSS在IE6、IE7、IE8中的兼容差異解析
關(guān)于瀏覽器的最離奇的統(tǒng)計(jì)結(jié)果之一就是InternetExplorer版本IE6,IE7和IE8共存。截至本文,InternetExplorer各個(gè)版本總共占據(jù)了大約65%的市場(chǎng)份額。在網(wǎng)站開(kāi)發(fā)社區(qū),這個(gè)數(shù)字要小很多,統(tǒng)計(jì)顯示大概只有40%。
這些統(tǒng)計(jì)中比較有趣的部分是,IE6、IE7、IE8之間的數(shù)值很接近,這防止了單個(gè)Microsoft的瀏覽器占居統(tǒng)治地位——與過(guò)去的情況相反。根據(jù)這些令人遺憾的統(tǒng)計(jì)結(jié)果,在為客戶(hù)開(kāi)發(fā)網(wǎng)站的時(shí)候開(kāi)發(fā)人員對(duì)所有當(dāng)前使用的IE瀏覽器做全面的測(cè)試是必要的,而且這樣在個(gè)人項(xiàng)目上也可以拉攏更多的用戶(hù)。
多謝那些JavaScript庫(kù)(框架),跨瀏覽器的Javascript的測(cè)試已經(jīng)像當(dāng)前形勢(shì)所允許的那樣接近***了。但在CSS開(kāi)發(fā)中還不是這樣,特別是關(guān)系到IE目前存在的三個(gè)版本。
本文嘗試為希望了解CSS對(duì)IE6、IE7、IE8的支持的不同的開(kāi)發(fā)者提供一份詳細(xì)的、易用的參考。本參考包含以下情況的概述和兼容情況:
◆三個(gè)瀏覽器中的一個(gè)支持而另外兩個(gè)不支持的條目
◆三個(gè)瀏覽器中的兩個(gè)支持而另外一個(gè)不支持的條目
因此,本文的中心是三個(gè)瀏覽器中的不同,而不是必要的支持缺陷。該列表被分為以下五個(gè)部分:
◆選擇器與繼承
◆偽類(lèi)與偽元素
◆屬性支持
◆其它各種技術(shù)
◆重要bug和不兼容問(wèn)題
這里只介紹前兩部分,請(qǐng)看下下文詳細(xì)介紹。#p#
選擇器與繼承
子選擇器
示例
- body>p{
- color:
- #fff;
- }
描述
子選擇器選擇一個(gè)特定父級(jí)元素的所有直接子級(jí)元素,在上面的例子中,body是父元素,p是子元素。
支持情況
IE6,No
IE7,Yes
IE8,Yes
IE7中,如果在父級(jí)標(biāo)簽和子級(jí)標(biāo)簽之間有一個(gè)HTML注釋?zhuān)舆x擇器將不會(huì)工作。
鏈類(lèi)
示例
- .class1.class2.class3
- {
- background:
- #fff;
- }
描述
鏈類(lèi)用于送一個(gè)HTML元素有多個(gè)class聲明的情況,就像這樣:
- <div
- class="class1class2class3"><p>Contenthere.< span>p>
- < span>div>
支持情況
IE6,No
IE7,Yes
IE8,Yes
IE6好像支持這種情況,因?yàn)樗芷ヅ滏溨械?**一個(gè)class到使用該class的元素上,然而,它并不能限制一個(gè)使用鏈中所有class的元素。#p#
屬性選擇器
示例
- a[href]
- {
- color:
- #0f0;
- }
描述
該選擇器允許一個(gè)元素被定位只要它有指定的屬性。在上面的例子中,所有的帶有href屬性的a標(biāo)簽都會(huì)被限定,而沒(méi)有href屬性的a標(biāo)簽不會(huì)被限定。
支持情況
IE6,No
IE7,Yes
IE8,Yes
臨近兄弟選擇器
示例
- h1+p{
- color:
- #f00;
- }
描述
該選擇器定位臨近到指定元素的兄弟標(biāo)簽。上面的例子將會(huì)限定p標(biāo)簽,但是他必須是h1標(biāo)簽的兄弟而且要直接尾隨在h1標(biāo)簽的后面。比如:
- <h1>heading< span>h1>
- <p>Contenthere.< span>p>
- <p>Contenthere.< span>p>
在上面的代碼中,CSS樣式將只對(duì)***個(gè)p有效。因?yàn)樗莌1的兄弟而且緊跟著h1。第二個(gè)p也是h1的一個(gè)兄弟,但是它沒(méi)有緊跟著h1。
支持情況
IE6,No
IE7,Yes
IE8,Yes
在IE7中,如果在兄弟之間有一個(gè)HTML注釋?zhuān)R近兄弟選擇器將無(wú)效。#p#
普通兄弟選擇器
示例
- h1~p{
- color:
- #f00;
- }
描述
該選擇器定位一個(gè)指定元素后面的所有兄弟元素。將此選擇器應(yīng)用到上面的那個(gè)例子,將會(huì)對(duì)兩個(gè)p標(biāo)簽都有效。當(dāng)然,如果有一個(gè)p元素出現(xiàn)在h1之前,那個(gè)p元素不會(huì)被匹配。
支持情況
IE6,No
IE7,Yes
IE8,Yes
偽類(lèi)和偽元素
:hover后面的后代選擇器
示例
- a:hoverspan{
- color:
- #0f0;
- }
描述
一個(gè)元素可以被:hover偽類(lèi)后面的選擇器定位,就像后代選擇器一樣。上面的例子,在鼠標(biāo)懸停的時(shí)候,將會(huì)改變a元素內(nèi)的span元素中的文字的顏色。
支持情況
IE6,No
IE7,Yes
IE8,Yes
鏈偽類(lèi)
示例
- a:first-child:hover{
- color:
- #0f0;
- }
描述
偽類(lèi)可以鏈起來(lái)以縮小元素選擇。上面的例子會(huì)定位每一個(gè)父級(jí)元素下的***個(gè)a標(biāo)簽,并將hover偽類(lèi)P應(yīng)用到它上。
【編輯推薦】
- IE6 IE7 IE8瀏覽器的兼容性PK
- IE6 IE7 IE8三個(gè)版本的CSS兼容速查手冊(cè)
- IE6 IE7 IE8 FF瀏覽器的CSS兼容問(wèn)題探究
- 微軟發(fā)布升級(jí)版IE8Beta2瀏覽器 新特性敬請(qǐng)關(guān)注
- 技術(shù)前沿 DIV+CSS布局網(wǎng)頁(yè)對(duì)網(wǎng)站SEO的影響