css引入偽類和偽元素概念是為了格式化文件樹以外的資訊。也就是說,偽類和偽元素是用來修飾不在文件樹中的部分,比如,一句話中的第乙個字母,或是列表中的第乙個元素,又或者是滑鼠懸停在某個超連結上時要設定的樣式。
常見的狀態偽類主要包括:
:link 應用於未被訪問過的鏈結;
:hover 應用於滑鼠懸停到的元素;
:active 應用於被啟用的元素;
:visited 應用於被訪問過的鏈結,與:link互斥。
:focus 應用於擁有鍵盤輸入焦點的元素。
常見的結構性偽類包括:
:first-child 選擇某個元素的第乙個子元素;
:last-child 選擇某個元素的最後乙個子元素;
:nth-child() 選擇某個元素的乙個或多個特定的子元素;
:nth-last-child() 選擇某個元素的乙個或多個特定的子元素,從這個元素的最後乙個子元素開始算;
:nth-of-type() 選擇指定的元素;
:nth-last-of-type() 選擇指定的元素,從元素的最後乙個開始計算;
:first-of-type 選擇乙個上級元素下的第乙個同類子元素;
:last-of-type 選擇乙個上級元素的最後乙個同類子元素;
:only-child 選擇的元素是它的父元素的唯一乙個子元素;
:only-of-type 選擇乙個元素是它的上級元素的唯一乙個相同型別的子元素;
:empty 選擇的元素裡面沒有任何內容。
:checked匹配被選中的input元素,這個input元素包括radio和checkbox。
:default匹配預設選中的元素,例如:提交按鈕總是表單的預設按鈕。
:disabled匹配禁用的表單元素。
:enabled匹配沒有設定disabled屬性的表單元素。
:valid匹配條件驗證正確的表單元素。
::first-letter 選擇元素文字的第乙個字(母)。
::first-line 選擇元素文字的第一行。
::before 在元素內容的最前面新增新內容。
::after 在元素內容的最後面新增新內容。
::selection匹配使用者被使用者選中或者處於高亮狀態的部分
::placeholder匹配佔位符的文字,只有元素設定了placeholder屬性時,該偽元素才能生效
注意:你會發現偽類元素使用了兩個冒號 (::) 而不是乙個冒號 (:),這是 css3 規範中的一部分要求,目的是為了區分偽類和偽元素,大多數瀏覽器都支援這兩種表示方式。單冒號(:)用於 css3 偽類,雙冒號(::)用於 css3 偽元素。對於 css2 中已經有的偽元素,例如 :before,單冒號和雙冒號的寫法 ::before 作用是一樣的。
所以,如果你的**只需要相容 webkit、firefox、opera 等瀏覽器,建議對於偽元素採用雙冒號的寫法,如果不得不相容 ie 瀏覽器,還是用 css2 的單冒號寫法比較安全。
**如下
**如下:
分割線
counter-reset: 屬性設定某個選擇器出現次數的計數器的值。預設為 0。
counter-increment: 屬性設定某個選取器每次出現的計數器增量。預設增量是 1。
content: 插入生成內容。
**如下:
a bcd
efgh
ij我選擇了個字母
效果如下:
css偽類和偽元素
css偽類用於向某些選擇器新增特殊的效果。link,visited,hover,focus,active,first child,lang css3新增的偽類 last child,only child,first of type,last of type,only of type,nth chil...
css偽類,偽元素
偽類作用於整個元素,比如 a link a hover div first child 儘管這些條件都不是基於dom的,但結果沒乙個都是作用於乙個完整的元素,比如整個鏈結,段落,div等等 偽元素作用於元素一部分,比如 p first line p first letter 偽元素作用於元素的一部分...
CSS偽類 偽元素
css偽類用於向某些選擇器新增特殊的效果。錨偽類a link 未訪問的鏈結 a visited 已訪問的鏈結 a hover 滑鼠移動到鏈結上 a active 選定的鏈結 注意 1 在 css 定義中,a hover 必須被置於 a link 和 a visited 之後,才是有效的。2 在 cs...