上次介紹了偽元素,這次就來介紹一下「偽選擇器」。這也是一個好用到爆的功能,是以「:」冒號為開頭的選擇器,和偽元素一樣,它必須附在 HTML 元素中。
- :first-child --> 第一個xx
- :last-child --> 最後一個xx
以上這兩個比較常會用在列表式的元素裡,像是表格、項目符號、清單……這類的
- :link --> 作用和 a[href] 相同
- :visited --> 選取目前瀏覽器中已瀏覽過的連結元素
- :hover --> 滑鼠移過去的連結元素
- :active --> 選取被按下的連結元素
以上這四個大家應該都不陌生,就是和 a 超連結有關係的設定
再來介紹的是和表單相關的偽選擇器
- :focus --> 選取目前焦點,包含連結、輸入和文字區域元素
- :enabled --> 指選擇、點按、輸入文字或接受 focus 的元素
- :disabled --> 指不能選擇、點按、輸入文字或不接受 focus 的元素,一般像是勾選框 Checkbox 或單選鈕 Radio
- :default --> 選取一個表單中的預設項目
- :indeterminate --> 沒有被指定預設狀態的勾選框或單選鈕
- :required --> 選取有 required 特徵的 input
- :optional --> 選取沒有 required 特徵的 input
- :read-only --> 選取特徵為 readonly 和 disabled 的元素
最後就是比較通用的偽選擇器
- :root --> 選取 html
- :first-of-type --> 相同分類中的第一個項目
- :nth-of-type(n) --> 相同分類中的第n個項目
- :last-of-type --> 相同分類中的最後一個項目
- :nth-child(n) --> 不管分類,選取第n個項目
- :nth-last-child(n) --> 不管分類,選取倒數第n個項目
- :nth-child(odd) --> 不管分類,選取奇數元素
- :nth-child(even) --> 不管分類,選取偶數元素
- :not(n) --> 否定選取器,除了有n的元素,其他都選取