132_css筆記13_css的偽類,偽元素,a標籤
阿新 • • 發佈:2018-12-26
一,偽類(Pseudo-classes)
為選擇器新增更多的效果
偽類選擇元素基於的是當前元素處於的狀態,或者說元素當前所具有的特性,而不是元素的id、class、屬性等靜態的標誌。由於狀態是動態變化的,所以一個元素達到一個特定狀態時,它可能得到一個偽類的樣式;當狀態改變時,它又會失去這個樣式。由此可以看出,它的功能和class有些類似,但它是基於文件之外的抽象,所以叫偽類
選擇器 | 示例 | 示例說明 |
---|---|---|
:checked | input:checked | 選擇所有選中的表單元素 |
input:disabled | 選擇所有禁用的表單元素 | |
:empty | p:empty | 選擇所有沒有子元素的p元素 |
:enabled | input:enabled | 選擇所有啟用的表單元素 |
:first-of-type | p:first-of-type | 選擇每個父元素是p元素的第一個p子元素 |
:in-range | input:in-range | 選擇元素指定範圍內的值 |
input:invalid | 選擇所有無效的元素 | |
:last-child | p:last-child | 選擇所有p元素的最後一個子元素 |
:last-of-type | p:last-of-type | 選擇每個p元素是其母元素的最後一個p元素 |
:not(selector) | :not(p) | 選擇所有p以外的元素 |
:nth-child(n) | p:nth-child(2) | 選擇所有 p 元素的父元素的第二個子元素 |
:nth-last-child(n) | p:nth-last-child(2) | 選擇所有p元素倒數的第二個子元素 |
:nth-last-of-type(n) | p:nth-last-of-type(2) | 選擇所有p元素倒數的第二個為p的子元素 |
:nth-of-type(n) | p:nth-of-type(2) | 選擇所有p元素第二個為p的子元素 |
:only-of-type | p:only-of-type | 選擇所有僅有一個子元素為p的元素 |
:only-child | p:only-child | 選擇所有僅有一個子元素的p元素 |
:optional | input:optional | 選擇沒有"required"的元素屬性 |
:out-of-range | input:out-of-range | 選擇指定範圍以外的值的元素屬性 |
:read-only | input:read-only | 選擇只讀屬性的元素屬性 |
:read-write | input:read-write | 選擇沒有隻讀屬性的元素屬性 |
:required | input:required | 選擇有"required"屬性指定的元素屬性 |
:root | root | 選擇文件的根元素 |
:target | #news:target | 選擇當前活動#news元素(點選URL包含錨的名字) |
:valid | input:valid | 選擇所有有效值的屬性 |
:link | a:link | 選擇所有未訪問連結 |
:visited | a:visited | 選擇所有訪問過的連結 |
:active | a:active | 選擇正在活動連結 |
:hover | a:hover | 把滑鼠放在連結上的狀態 |
:focus | input:focus | 選擇元素輸入後具有焦點 |
:first-letter | p:first-letter | 選擇每個<p> 元素的第一個字母 |
:first-line | p:first-line | 選擇每個<p> 元素的第一行 |
:first-child | p:first-child | 選擇器匹配屬於任意元素的第一個子元素的 <p> 元素 |
:before | p:before | 在每個<p>元素之前插入內容 |
:after | p:after | 在每個<p>元素之後插入內容 |
:lang(language) | p:lang(it) | 為<p>元素的lang屬性選擇一個開始值 |
二,偽元素
偽元素是對元素中的特定內容進行操作,它所操作的層次比偽類更深了一層,也因此它的動態性比偽類要低得多。實際上,設計偽元素的目的就是去選取諸如元素內容第一個字(母)、第一行,選取某些內容前面或後面這種普通的選擇器無法完成的工作。它控制的內容實際上和元素是相同的,但是它本身只是基於元素的抽象,並不存在於文件中,所以叫偽元素
- 1,偽元素
選擇器 | 示例 | 示例說明 |
---|---|---|
:link | a:link | 選擇所有未訪問連結 |
:visited | a:visited | 選擇所有訪問過的連結 |
:active | a:active | 選擇正在活動連結 |
:hover | a:hover | 把滑鼠放在連結上的狀態 |
:focus | input:focus | 選擇元素輸入後具有焦點 |
:first-letter | p:first-letter | 選擇每個<p> 元素的第一個字母 |
:first-line | p:first-line | 選擇每個<p> 元素的第一行 |
:first-child | p:first-child | 選擇器匹配屬於任意元素的第一個子元素的 <]p> 元素 |
:before | p:before | 在每個<p>元素之前插入內容 |
:after | p:after | 在每個<p>元素之後插入內容 |
:lang(language) | p:lang(it) | 為<p>元素的lang屬性選擇一個開始值 |
- 2,適用於偽元素的屬性
- font properties
- color properties
- background properties
- margin properties
- padding properties
- border properties
- text-decoration
- vertical-align (only if "float" is "none")
- text-transform
- line-height
- float
- clear
- 3,示例:
-
p:first-letter { color:#ff0000; font-size:xx-large; } //段落的第一個字母將顯示為紅色,其字型大小為 xx-large
-
三,a標籤 (link連結)
- 四個狀態
- a:link {color:#000000;} /* 未訪問連結*/
- a:visited {color:#00FF00;} /* 已訪問連結 */
- a:hover {color:#FF00FF;} /* 滑鼠移動到連結上 */
- a:active {color:#0000FF;} /* 滑鼠點選時 */
- 順序規則
- a:hover 必須跟在 a:link 和 a:visited後面
- a:active 必須跟在 a:hover後面