CSS1時IE6是部分支持,偉大的IE6!CSS2時IE6部分支持,偉大的IE6依舊是部分支持!CCS3盛行CSS4也已經提上日程的如今,IE6徹底不支持。IE6你該走了,咱們會永遠記住你的功績的!IE6在天朝什麼時候能壽終就寢!css
以上跟本文章無關,今天咱們來CSS的選擇器,雖然IE6不支持,可是jqurey實現了CSS的不少選擇器的,因此就當溫習jqurey的選擇器。html
由於偉大的IE6不支持CSS2的有些高級屬性,因此CSS選擇器一直沒有發揮。要記住一點:對於站點功能很重要的元素仍是不要用一些「高級的東西」,由於在天朝都是盜版XP。html5
正文:選擇器的做用就是「選擇」和「過濾」兩個功能,而且能夠混合使用。主要的區別是」過濾」做用的選擇器是指定條件從前面匹配的內容中篩選。css3
基本選擇器很簡單,以下:瀏覽器
高級選擇器post
首先確保瞭解CSS優先級的工做原理,否則被覆蓋還沒知道什麼什麼緣由。本頁全部DEMO網站
屬性選擇器(Attribute selector)是CSS 2 引入了屬性選擇器。spa
咱們能夠只指定該元素的某個屬性,這樣全部使用該屬性都將被選取;也能夠更加明確並定位在這些屬性上使用特定值的元素 。以下code
僞類選擇器以前只能有一個單冒號。orm
動態僞類只有當用戶和網站交互了才能體現出來。
:hover在IE6下只有a元素支持,:active、:focus只有IE7-6不支持。
因爲CSS優先級的關係(後面比前面的優先級高),在寫a的CSS時,必定要按照a:link, a:visited, a:hover, a:actived的順序書寫。
通常選取表單元素,因此咱們聯想到屬性選擇性,因此咱們能夠以下選取文本框
input[type="text"]:disabled {color:#333;}
div:before{content:"這裏寫你想要在以前插入的內容"}
div:after{content:"這裏寫你想要在以前插入的內容"},咱們有用它來清除浮動
注意 :若是寫成:first-child
瀏覽器將自動解析成 *:first-child
, * 是匹配全部元素,意思就是選擇第一個子元素;而若是寫成img:first-child
,那麼條件則苛刻了,不只是要知足是第一個子元素並且必須是img元素,同時知足這兩個條件才能被選取 。
除了IE6不支持,其餘瀏覽器都支持
注意 :若是寫成:last-child
瀏覽器將自動解析成 *:last-child
,* 是匹配全部元素,意思就是選擇最後一個子元素;而若是寫成img:last-child
,那麼條件則苛刻了,不只是要知足是最後第一個子元素並且必須是img元素,同時知足這兩個條件才能被選取,就是倒過來的:first-child
。 IE六、IE七、IE8不支持 ,其餘瀏覽器都支持
注意:若是寫成:first-of-type
瀏覽器也將自動解析成 *:first-of-type
,這個意思就是第一個子元素 即:first-of-type=:first-child
;而若是寫成img:first-of-type
,那就跟:first-child
差異大了,意思是全部img集合裏的第一個元素。其實跟:first-of-type
跟:first-child
徹底是兩個概念
IE六、IE七、IE8和FF3-瀏覽器不支持
注意:若是寫成:last-of-type
瀏覽器也將自動解析成 *:last-of-type
,這個意思就是第一個子元素 即:last-of-type=:last-child
;而若是寫成img:last-of-type
,那就跟:last-child差異大了,意思是全部img集合裏的第一個元素。其實跟:last-of-type
跟:last-child
徹底是兩個概念。
IE六、IE七、IE8和FF3-瀏覽器不支持
注意::nth-child()
能夠定義它的值(值能夠是整數不能爲負數,也能夠是表達式),如div:nth-child(3)
或者div:nth-child(n)
,這裏的「n」只能是」n」,不能使用其餘字母代替。:nth-child(2n)=:nth-child(even)
,:nth-child(2n-1)=:nth-child(odd)
。:nth-child(n+5)
從第五個元素開始選擇,:nth-child(-n+5)
選擇第5個前面的(跟:nth-child(n+5)
相反)。:nth-child()
前面帶不帶元素跟:first-child
同樣道理,其實:first-child
就是:nth-child
的衍生,就專指第一個,而:nth-child
是想選哪一個就選哪一個。
IE六、IE七、IE8和FF3-瀏覽器不支持
注意::nth-last-child()
是從元素的最後一個開始計算,計算方法跟:nth-child()是同樣的,具體區別不說了。
IE六、IE七、IE8和FF3-瀏覽器不支持
注意::nth-of-type
跟:nth-child
的關係就比如:first-of-type
跟first-child
的關係,區別也不說了。
IE六、IE七、IE8和FF3-瀏覽器不支持
注意:就是:nth-of-type
倒着算,區別:略。
IE六、IE七、IE8和FF3-瀏覽器不支持
: 注意: :only-child
表明只包含一個子元素的div下的子元素,
:only-child
就是*:only-child
意思了,因此沒選擇就是隻包涵一個子集元素的那個子集 。
IE六、IE七、IE8和FF3-瀏覽器不支持
注意:p:only-of-type
表明只包含一個p子元素的div下的p元素,就算那個父集有其餘元素的子集,只要不是 p 子集,p:only-of-type
就能選中。
IE六、IE七、IE8和FF3-瀏覽器不支持
注意:選擇沒有任何內容的元素 。
IE六、IE七、IE8瀏覽器不支持:empty選擇器
注意:就是排除某個元素,input:not([type="submit"]) {border:0;}
。
IE六、IE七、IE8瀏覽器不支持:empty選擇器
CSS4選擇器預覽版提供了對於父選擇器和匹配選擇器,跟js操做DOM同樣。只是出了草案,目前瀏覽器還不支持,因此就不試驗了,等支持了再加在這。
CSS4選擇器站位編輯!
摘自:http://www.html5jscss.com/css-selectors-34.html