CSS的規則主要由兩個部分組成:選擇器和一條或多條聲明,代碼形式表現如下:
Selector{declaration1;declaration2.....;}
選擇器通常就是我們需要改變樣式的HTML的元素。其中,每條聲明又是由一個屬性(property)和一個值(value)組成,屬性與屬性之間通常用分號隔開。代碼的形式則表現爲:
Selector{property1:value1;property1:value2}
以上是對CSS規則的簡單概述,接下來的纔是這篇文章的重點——CSS選擇器。
CSS選擇器分爲以下幾大類:
1.通用選擇器:
書寫:*{...}
作用範圍:頁面中的所有元素。
2.元素選擇器:
書寫:元素名{...}
作用範圍:指定的元素下的內容。如div{...}
3.ID選擇器:
書寫:#ID值{...}
作用範圍:指定具有ID值的元素。如#p{...}
4.類別選擇器:
書寫:.類名{...}
作用範圍:具有指定的class值的所有元素內容。如.mark{...}
以上四種是最常用的幾種,但是有時候如果僅用以上幾種選擇器,也並不是很方便,因爲它只能針對其所固有的相對應的值。接下來介紹的幾種選擇器主要是針對相關聯的元素內容、
5.並列/過濾選擇器:
書寫:選擇器1選擇器2{...}
作用範圍:選擇可被兩個選擇器同時選中的內容。如p.mark{...},.mark.product{...}
6.子元素選擇器(後代選擇器):
書寫:選擇器1 選擇器2{...}(選擇器1與選擇器2之間是空格)
作用範圍:選擇可被選擇器1選擇的元素下的所有子元素能被選擇器2選擇的部分。
7.直接子元素選擇器:
書寫:選擇器1>選擇器2{...}
作用範圍:選擇器1的直接子元素,可被選擇器2選中的元素。
兼容性問題:IE6不支持。
8.相鄰兄弟選擇器;
書寫:選擇器1+選擇器2{...}
作用範圍:選擇器1和選擇器2所有的元素。值得注意的是:選擇器1和選擇器2是緊挨着的,且有相同的父元素。
8.多選/多組選擇器:
書寫:選擇器1,選擇器2,選擇器3...,選擇器n{...}
作用範圍:選擇可被以上任何選擇器選中的元素。
9.僞類選擇器:
a:link{...}未被訪問的超鏈接
a:visited{...}被訪問後的超鏈接
元素:hover{...}鼠標懸停時的樣式——>IE6只支持a:hover
元素:active{...}當元素被激活時。
input:focus{...}當元素獲得輸入焦點時——>IE7之前都不支持
元素名:first-child{...}某父元素下,第一個子元素。比如body下有若干p元素。P:first-child{...}則表示第一個p元素。
元素名:first-line,文本首行—只能用於塊級元素。如:font.color,background,word-spacing,letter-spacing,text-decoration,vertical-aliogn,
text-transform,line-height,clear
元素名:first-letter,文本首字母—只能用於塊級元素。font.color,background,margin,pading,border,text-decoration,vertical-align(僅當float爲none),text-transform,line-height,float,clear
元素名:before{...}在元素的內容前面插入內容。
元素名:after{...}在元素的內容後面插入內容。
元素名:lang{...}向帶有指定lang屬性的元素添加樣式。
CSS樣式的優先級:
!important>內聯樣式>#ID選擇器>類選擇器/僞類選擇器>元素選擇器>瀏覽器預定義樣式