這裏面平時不太經常使用的選擇器有相鄰後面兄弟選擇器和通用後面兄弟選擇器
首先,不少資料上把它們叫作相鄰兄弟選擇器和通用兄弟選擇器,我以爲這樣會有必定的誤導意義,
例如:
`css
<ul> <li class="l1">1</li> <li class="l2">2</li> <li class="l3">3</li> <li class="l4">4</li> <li class="l5">5</li> <li class="l6">6</li> <li class="l7">7</li> <li class="l8">8</li> <li class="l9">9</li> </ul> li { list-style: none; height: 20px; width: 20px; background: red; margin: 10px; border-radius: 10px; text-align: center; color: white; float: left; line-height: 20px; }
`
html
當使用相鄰兄弟選擇器時:css3
.l3 + li { background: green; }
效果爲:
spa
能夠看出相鄰兄弟選擇器只會選擇它後面的一個兄弟元素。
當使用通用兄弟選擇器:code
.l3 ~ li { background: green; }
效果爲:
htm
能夠看出來通用兄弟選擇器會選擇它後面全部的兄弟元素blog
屬性選擇器中有波浪(〜)時屬性值有value時就相匹配,沒有波浪(〜)時屬性值要徹底是value時才匹配圖片
動態僞類ci
在連接中常看到的錨點僞類:link、visited、hover、activeget
UI元素狀態僞類
例如 :enabled,:disabled,:checked等,這些主要是對一些表單元素操做。
比較常見的如"type="text"有enable和disabled兩種狀態,前者爲可寫狀態後者爲不可寫狀態。
根據樣式所在位置,對元素的影響也有關係:內聯樣式(標籤內style形式) > style標籤 > link標籤
根據選擇器的類型,id選擇器 > 類、屬性選擇器和僞類選擇器 > 元素和僞元素
通常來講咱們的計算方式爲,從0開始,一個行內樣式+1000,一個id+100,一個屬性選擇器/class或者僞類+10,一個元素名,或者僞元素+1