原文:征服高階CSS選擇器
譯自:Taming Advanced CSS Selectors
CSS是對網頁設計師可用的最強大的工具之一。使用它我們可以在幾分鐘內改變一個網站的介面,而不用改變頁面的標籤。但儘管事實上,我們每個人也都意識到了它是有用的,CSS 選擇器遠未發揮它們的潛力,有的時候我們還趨向於使用過多的和無用的class、id、div、span等把我們的HTML搞的很凌亂。
避免讓這些「瘟疫」在你的標籤中傳播並保持其簡潔和語義化的最佳方式,就是使用更複雜的CSS選擇器,它們可以定位於指定的元素而不用使用額外的class或id,而且透過這種方式也可以讓我們的程式碼和樣式更加靈活。
CSS的優先級
在深入研究高級CSS選擇器領域之前,理解CSS優先級是如何工作的是很重要的,這樣我們就知道如何適當的使用我們的選擇器並避免浪費大量的時間來調試一些只要我們注意到優先級的話就很容易被搞定的問題
當我們寫CSS的時候我們必須注意有些選擇器在級聯(cascade)上會高於其它選擇器,我們寫在最後面的選擇器將不一定會覆蓋前面我們寫在同一個元素的樣式。
那你要如何計算指定選擇器的優先權?如果你考慮到將優先權表示為用逗號隔開的四個數字就會相當簡單,例如:1, 1, 1, 1 或0, 2, 0, 1
讓我們來看幾個例子,這樣或許比較容易理解:
在下面的例子中,第一個將會起作用,因為它比第二個優先順序高:
至少基本上理解優先順序是如何運作的是很重要的,但是有些工具例如Firebug,在我們審查指定元素的時候,按照選擇器的優先權列出所有的css選擇器對讓我們知道在指定元素上哪個選擇器是有效的是很有用的。
讓你非常容易的看到那個選擇器作用在一個元素上了。
有用的文章: