CSS2中對僞類的定義是:CSS 僞類用於向某些選擇器添加特殊的效果。css
截止css2,僞類有如下幾種:html
CSS3中對僞類的定義以下:瀏覽器
:
開頭,冒號後面是僞類的名稱和包含在圓括號中的可選參數。新增僞類 | 做用 | |
E:first-child | 匹配做爲父元素的第一個子元素E,與E:nth-child(1)等同 | 結構僞類選擇器 |
E:last-child | 匹配做爲父元素的最後一個子元素E,與E:nth-last-child(1)等同 | |
E:root | 選擇匹配元素E所在文檔的根元素。在HTML文檔中,根元素始終是html | |
p:nth-child(n) | 選擇屬於其父元素的第n個子元素的每一個<p>元素。 | |
p:nth-last-child(n) | 選擇屬於其父元素的倒數第n個子元素的每一個<p>元素。 | |
p:nth-of-type(n) | 選擇屬於其父元素第n個<p>元素的每一個<p>元素。 | |
p:nth-last-of-type(n) | 選擇屬於其父元素倒數第n個<p>元素的每一個<p>元素。 | |
p:first-of-type | 選擇屬於其父元素的首個<p>元素的每一個<p>元素。 | |
p:last-of-type | 選擇屬於其父元素的最後<p>元素的每一個<p>元素。 | |
p:only-of-type | 選擇屬於其父元素惟一的<p>元素的每一個<p>元素。 | |
p:only-child | 選擇屬於其父元素惟一的子元素的每一個<p>元素。 | |
p:empty | 選擇沒有子元素的每一個<p>元素(包括文本節點)。 | |
p:target | 選擇當前活動的<p>元素。 | 目標僞類選擇器 |
:not(p) | 選擇非<p>元素的每一個元素。 | 否認僞類選擇器 |
:enabled | 可用狀態的控制表單控件。 | UI元素狀態僞類選擇器 |
:disabled | 禁用狀態的控制表單控件。 | |
:checked | 單選框或複選框被選中的元素。 |
CSS2中,對於僞類和僞元素的定義是徹底同樣的。spa
截止CSS2,僞元素有如下幾種:3d
CSS3對僞元素的定義以下:code
::before
,::after
)。僞元素的由兩個冒號::
開頭,而後是僞元素的名稱。使用兩個冒號::
是爲了區別僞類和僞元素(CSS2中並無區別)。固然,考慮到兼容性,CSS2中已存的僞元素仍然能夠使用一個冒號:
的語法,可是CSS3中新增的僞元素必須使用兩個冒號::
。htm
簡單來講,僞元素建立了一個虛擬容器,這個容器不包含任何DOM元素,可是能夠包含內容。另外,開發者還能夠爲僞元素定製樣式。blog
CSS3中的僞元素爲:接口
僞元素 | 做用 |
::first-letter | 將樣式添加到文本的首字母 |
::first-line | 將樣式添加到文本的首行 |
::before | 在某元素以前插入某些內容 |
::after | 在某元素以後插入某些內容 |
::selection | 用來匹配突出顯示的文本 |
在支持 CSS 的瀏覽器中,連接的不一樣狀態均可以不一樣的方式顯示,這些狀態包括:活動狀態,已被訪問狀態,未被訪問狀態,和鼠標懸停狀態。ci
a:link | 未訪問的連接 |
a:visited | 已訪問的連接 |
a:hover | 鼠標移動到連接上 |
a:active | 選定的連接 |