選擇器的類型
- 基本選擇器
- 組合選擇器
- 屬性選擇器
- 僞類選擇器
- 僞元素選擇器
1. 基本選擇器
選擇器 | 含義 | 作用 |
.class | 類選擇器 | 選擇class包含特定類的元素 |
.#id | id選擇器 | 選擇包含特定id的元素 |
* | 通用元素選擇器 | 選擇頁面中所有的元素 |
E | 元素選擇器 | 選擇指定類型的HTML元素(如p,img) |
select1 ,select2 | 群組選擇器 | 将具有相同屬性的元素合并 |
2. 層次選擇器
E F | 後代選擇器(包含選擇器) | 選擇E标簽下的所有F元素 |
E>f | 子選擇器 | 僅選擇E标簽下的兒子級别的元素 |
E+F | 相鄰兄弟選擇器 | 選擇與E元素同級别的第一個F元素 |
E~F | 普通相鄰選擇器 | 選擇與E元素同級别的所有F元素 |
3. 僞類選擇器
3.1. 動态僞類選擇器
E:link | 連結僞類選擇器 | 選擇比對的E元素,E被定義了超連結且并未通路過。常用與連結錨點 |
E:visited | 選擇比對的E元素,E被定義了超連結且已被通路。常用與連結錨點 | |
E: active | 使用者行為僞類選擇器 | 選擇比對的E元素,且比對元素已被激活。常用與錨點與按鈕上 |
E:hover | 選擇比對的E元素,且使用者滑鼠停留在E元素上 | |
選擇比對的E元素,且比對的元素獲得焦點 |
3.2. 目标僞類選擇器
E:target | 選擇比對E的所有元素,且比對元素指向被相關的URL指向 |
3.3. UI元素狀态僞類選擇器–主要與表單相關
示例 | ||
:disable | input:disable | 選擇所有禁用的表單元素 |
:enable | 選擇沒有設定disable屬性的表單元素 | |
:in-range | input:in-range | 選擇指定區域内的元素 |
:out-of-range | input:out-of-range | 選擇不再指定區域内的元素 |
:valid | input:valid | 選擇條件驗證正确的表單元素 |
:invaild | input:invalid | 選擇條件驗證錯誤的表單元素 |
:required | input:required | 選擇設定 required 屬性的表單元素 |
:checked | input:checked | 比對被選中的 input 元素,input 元素包括 radio 和 checkbox |
:read-only | input:read-only | 選擇設定 readonly 隻讀屬性的元素 |
3.4. 語言僞類選擇器
:lang(language) | 比對設定了特定語言的元素。 | 設定特定語言可以通過為了 HTML 元素設定 lang=”” 屬性,設定 meta 元素的 charset=”” 屬性,或者是在 http 頭部上設定語言屬性。實際上,lang=”” 屬性不隻可以在 html 标簽上設定,也可以在其他的元素上設定。 |
3.5. 結構化類選擇器
E:root | 選擇比對E元素所在文檔的根元素。在HTML文檔中,根元素始終是html,此時該選擇器與html類型的選擇器比對的内容相同 | |
:first - child | p:first-child | 選擇p元素的第一個子元素 |
:first-of-type | p:first-of-type | 選擇每個父元素是p元素的第一個p子元素 |
:last-child | p:last-child | 選擇所有p元素的最後一個子元素 |
:last-of-type | p:last-of-type | 選擇每個p元素是其母元素的最後一個p元素 |
:not(selector) | :not§ | 選擇所有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元素 |
:target | #news:target | 選擇目前活動#news元素(點選URL包含錨的名字) |
4. 僞元素選擇器
4.1. 單雙冒号
說明 | ||
::before/:before | 在被選元素前插入内容。 | 需要使用 content 屬性來指定要插入的内容。被插入的内容實際上不在文檔樹中。 |
::after/:after | 在選被元素後插入内容 | 其用法和特性與:before相似。 |
::first-letter/:first-letter | 比對元素中文本的首字母。 | 被修飾的首字母不在文檔樹中。 |
::first-line/:first-line | 比對元素中第一行的文本。 | 這個僞元素隻能用在塊元素中,不能用 |
4.2. 僅雙冒号
::selection | 比對被使用者選中或者處于高亮狀态的部分。 | 在火狐浏覽器使用時需要添加 -moz 字首。 |
::placeholder | 比對占位符的文本。 | 隻有元素設定了 placeholder 屬性時,該僞元素才能生效。該僞元素不是 CSS 的标準,它的實作可能在将來會有所改變, |
::backdrop | 用于改變全屏模式下的背景顔色。 | 全屏模式的預設顔色為黑色。(試驗階段) |
5. 屬性選擇器
E[attribute] | [target] 選擇所有帶有target屬性元素 | |
E[attribute=value] | [target=-blank] | 選擇所有使用target="-blank"的E元素 |
E[attribute~=value] | [title~=flower] | 選擇标題屬性包含單詞"flower"的所有E元素 |
E[attribute ^= language] | [lang ^= en] | 選擇一個lang屬性的起始值="EN"的所有E元素 |
E[attribute $= language] | [lang $= en] | 選擇一個lang屬性的結尾值="EN"的所有E元素 |
E[attribute *= language] | [lang *= en] | 選擇一個lang屬性的包含"EN"的所有E元素 |