国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

玩轉(zhuǎn)CSS選擇器(二) 之 瀏覽器支持,常見Bug,性能優(yōu)化

y1chuan / 720人閱讀

摘要:本節(jié)內(nèi)容會(huì)跟著上一節(jié)的內(nèi)容繼續(xù)完善,首先會(huì)補(bǔ)充選擇器的瀏覽器支持情況主要是說,比如我們最常用的群組選擇器在時(shí)才被支持,并且還支持了很多我們沒有想到的選擇器,如子元素選擇器,屬性選擇器,了解后你會(huì)發(fā)現(xiàn)還是挺了不起的。

前言

上一篇系列文章整理了CSS選擇器的基礎(chǔ)使用方法,因?yàn)閮?nèi)容較多且細(xì)致,寫了很多DEMO,目前將它整理成適合移動(dòng)端瀏覽器的CSS選擇器的參考手冊(cè),方便學(xué)習(xí)CSS的人參考使用,馬上就要搞定了,之后會(huì)放出 (笑臉)。

本節(jié)內(nèi)容會(huì)跟著上一節(jié)的內(nèi)容繼續(xù)完善,首先會(huì)補(bǔ)充CSS選擇器的瀏覽器支持情況(主要是說IE),比如我們最常用的s1,s2,…,sN群組選擇器在IE7時(shí)才被支持,并且IE7還支持了很多我們沒有想到的選擇器,如子元素選擇器,屬性選擇器,了解后你會(huì)發(fā)現(xiàn)IE7還是挺了不起的。

之后還會(huì)補(bǔ)充平常使用選擇器遇到的一些問題以及解決方案,最后了解瀏覽器是如何讀取選擇器的,怎樣使用選擇器能達(dá)到高效率。

瀏覽器支持 了不起的IE7

當(dāng)我們?cè)陂_發(fā)網(wǎng)頁時(shí),如果網(wǎng)頁需要兼容IE6,那么自然地會(huì)把IE6和IE7瀏覽器歸為一路貨色,對(duì)于不兼容的選擇器和屬性都將不再考慮使用,可是你是否知道IE7相比IE6增加了許多選擇器可以用,如群組選擇器,相鄰選擇器,兄弟選擇器,屬性選擇器。

以下選擇器是不支持IE6,僅支持 IE7 及以上的瀏覽器

基本選擇器
選擇器 描述 版本
s1,s2,...,sN 群組選擇器,同時(shí)匹配所有s1元素或s2元素 2.1
E > F 子元素選擇器,匹配所有E元素的子元素F 2.1
E + F 毗鄰元素選擇器,匹配所有緊隨E元素之后的同級(jí)元素F 2.1
E ~ F 匹配任何E標(biāo)簽之后的同級(jí)F標(biāo)簽 3
屬性選擇器
選擇器 描述 版本
E[attr] 匹配att屬性的E元素 2.1
E[attr="val"] 匹配att屬性且屬性值等于val的E元素 2.1
E[attr~="val"] 匹配att屬性且屬性值中的詞列表有一個(gè)等于val的E元素 2.1
E[attr^="val"] 匹配att屬性且屬性值為以val開頭的字符串的E元素 3
E[attr$="val"] 匹配att屬性且屬性值為以val結(jié)尾的字符串的E元素 3
E[attr*="val"] 匹配att屬性且屬性值為包含val的字符串的E元素 3
E[att|="val"] 匹配att屬性且屬性值為以val開頭并用連接符"-"分隔的字符串的E元素 2.1

IE7瀏覽器,單復(fù)選框的checked在屬性選擇器中是不被支持的,這部分內(nèi)容會(huì)在下面的常見問題中詳細(xì)說明。

偽類選擇器
選擇器 描述 版本
E:hover 設(shè)置元素在其鼠標(biāo)懸停時(shí)的樣式 2.1
E:first-child 匹配父元素的第一個(gè)子元素E 2.1

E:hover在IE6中只有a元素可用

偽元素選擇器
選擇器 描述 版本
E:first-letter 選擇文本塊的第一個(gè)字母 2.1
E:first-line 選擇元素的第一行 2.1
平庸的IE8瀏覽器

雖然來到IE8的時(shí)代,但是對(duì)于新選擇器的支持并不多,不過還好我們最常用的E:beforeE:after配合content屬性都在IE8中得到了很好的支持。

以下選擇器不支持IE6,IE7,僅支持 IE8 及以上的瀏覽器

偽類選擇器
選擇器 描述 版本
E:focus 設(shè)置對(duì)象在成為輸入焦點(diǎn)時(shí)的樣式 2.1
偽元素選擇器
選擇器 描述 版本
E:before 在元素前面插入內(nèi)容,配合"content"使用 2.1
E:after 在元素后面插入內(nèi)容,配合"content"使用 2.1
狂拽炫酷*炸天的IE9

IE最好的時(shí)代就是迎接CSS3的到來,從IE9支持了一大坨新CSS3的偽類以及偽元素,我就勉強(qiáng)給IE使用上這個(gè)酷炫點(diǎn)的修飾語。

以下選擇器不支持IE6,IE7,IE8,僅支持 IE9 及以上的瀏覽器

偽類選擇器
選擇器 描述 版本
E:checked 匹配用戶界面上處于選中狀態(tài)的元素E 3
E:enabled 匹配用戶界面上處于可用狀態(tài)的元素E 3
E:disabled 匹配用戶界面上處于禁用狀態(tài)的元素E 3
E:root 匹配文檔的根元素,對(duì)于HTML文檔,就是HTML元素 3
E:last-child 匹配父元素的最后一個(gè)子元素E 3
E:nth-last-child(n) 匹配父元素的倒數(shù)第n個(gè)子元素E 3
E:nth-of-type(n) 匹配同類型中的第n個(gè)同級(jí)兄弟元素E 3
E:nth-last-of-type(n) 匹配同類型中的倒數(shù)第n個(gè)同級(jí)兄弟元素E 3
E:first-of-type 匹配同類型中的第一個(gè)同級(jí)兄弟元素E 3
E:last-of-type 匹配同類型中的最后一個(gè)同級(jí)兄弟元素E 3
E:only-child 匹配父元素僅有的一個(gè)子元素E 3
E:only-of-type 匹配同類型中的唯一的一個(gè)同級(jí)兄弟元素E 3
E:empty 匹配沒有任何子元素(包括text節(jié)點(diǎn))的元素E 3
E:not(s) 匹配不含有s選擇符的元素 3
E:target 匹配文檔中特定"id"點(diǎn)擊后的效果 3
偽元素選擇器
選擇器 描述 版本
E::first-letter 選擇文本塊的第一個(gè)字母 3
E::first-line 選擇元素的第一行 3
E::before 在元素前面插入內(nèi)容,配合"content"使用 3
E::after 在元素后面插入內(nèi)容,配合"content"使用 3
E::selection 設(shè)置對(duì)象被選擇時(shí)的樣式 3
讓IE6-8支持偽類和屬性選擇器

如何才能讓IE6~8支持CSS3偽類和屬性選擇器,也許你已經(jīng)想到了,我們會(huì)用JavaScript工具來進(jìn)行輔助,那么剛好|8e50989464f7517425e2c31ba2d6dd59424|就可以完成這件事情,而且使用起來很簡單,只要把selectivizr.js引入到頁面上就可以了,如下:



      

但是使用它還有一些注意事項(xiàng):

必須要引用一個(gè)JavaScript庫,比如jQuery

只能解析標(biāo)簽引入的樣式,如果是

    <