網上有很多這樣的資訊,很多的圖表對各個瀏覽器進行比較,關於特性的支援,其實有些不全面,本文就日常常見的一些css選擇器進行乙個總結(本文在標準模式下)。
1)關於:active,:link,:hover,:visited偽類
在css1的規範中,這四個偽類僅作用在a 標籤上。在後來的所有瀏覽器中都是支援a標籤的這個屬性。所以為了滑鼠特性能夠支援各種瀏覽器,a標籤是乙個首選的標籤,利用display:block或者display:inline-block可以使a
標籤具有很多的特性。我經常用它來做按鈕,來實現3態,效果很好,不過在表單中就不推薦來做按鈕了。
:link 和:visited 從表面上來看,就是連線,看來只有在a標籤上使用了。沒有什麼變化。
:hover 就是滑鼠滑到上的狀態,在ie7+,firefox,chrome的標準模式上就開始支援所有標籤了。
: active 就是乙個元素被啟用時的狀態,在ie8+,firefox,chrome也尅是支援所有的標籤了。
後面我將附上我研究這些特性的**。
2)關於 :before,:after :first-child ,:focus偽類
為什麼要把這幾個另外分開呢?原因就是他們也a標籤沒什麼大的聯絡,用的也不多。
:before&&:after 就是在乙個元素的內容之前或者之後插入生成的內容,我之前的一邊文章中介紹過。它和content屬性配合使用。乙個很經典的使用就是清除浮動。
:first-child 選擇子節點的第乙個子節點元素,這個是css2中的產物,ie7的標準模式下就開始支援了。但是這個子節點和父節點之間不能有注釋,有注釋就 悲劇了。但是ie8是支援的,即使是有注釋。ie8比ie7有很大的改進
:focus 獲取鍵盤焦點上的所有元素。這個也很強大。但是只是在ie8+的標準模式下支援。
3)關於子選擇器 ( > )
在ie7+標準模式,chrome,ff下開始支援了。有人說在ie7下,如果父元素與子元素之間有注釋的話就會失效,但是我沒有發現。
4) 臨近兄弟選擇器(+)
在ie7+標準模式。chrome,ff下開始支援了。但是,如果父元素與子元素之間有注釋的話就會失效。ie8沒有。看來,ie8比ie7有很大的改進。
5)普通兄弟選擇器(~)
選擇該元素後面的所有兄弟節點,在ie7+標準模式,chrome,ff下支援。它和臨近兄弟節點擊擇器的區別就是,前者就選擇後面所有的,不要求相鄰,但是後面必須是相鄰,且選擇乙個。
附上我研究的**:
ie7對css2的支援情況
title
>
24head
>
25<
body
>
26<
div
id="doc"
>
27<
h4>
研究ie7對css2選擇器的支援情況
h4>
28<
div>
2930
<
p>
後代選擇器的支援情況
p>
31<
p>
後代選擇器的支援情況
p>
32div
>
33<
ul>
34<
li>
偽類選擇器的支援情況
li>
3536
<
li>
偽類選擇器的支援情況
li>
37<
li>
偽類選擇器的支援情況
li>
38ul
>
39<
p>
臨近兄弟節點擊擇器
p>
40<
div>
div>
4142
<
p>
兄弟節點擊擇器
p>
43<
p>
兄弟節點擊擇器
p>
44<
div
class
="test"
>
active臨近兄弟節點擊擇器
div>
45<
div
class
="tt"
>
heading
div>
46<
div>
div>
47<
p>
臨近兄弟節點擊擇器1
p>
48<
p>
臨近兄弟節點擊擇器2
p>
49div
>
50body
>
html
>
瀏覽器相容 CSS3 選擇器
ie大小寫無關係 去掉間的間距 font size 0px word spacing 0px 數值px float 透明 opacity 數值 0 1 被設定的元素整體透明度 element element 如 div p 只選擇div裡邊的第一代p元素.element element 如 li l...
css3常用 選擇器 瀏覽器相容
字首 瀏覽器 webkit chrome和safari moz firefox msie oopera 上圖是各大瀏覽器的相容 圓角效果 border radius 陰影效果 box shadow 例 box shadow 4px 2px 6px f00,4px 2px 6px 000 0px 0p...
CSS中的選擇器之類選擇器和id選擇器
1.類選擇器,又叫class選擇器 2.id選擇器 3.html元素選擇器 又叫標籤選擇器 4.萬用字元選擇器 5.偽類選擇器 6.組合選擇器 多元素選擇器,子元素選擇器,後代選擇器 簡單來說,選擇器就是在css中建立,而在網頁頁面 html,jsp,php,asp.net 中使用 選擇器的名稱命名...