跳到主要內容

偽選擇器大集合!

上次介紹了偽元素,這次就來介紹一下「偽選擇器」。這也是一個好用到爆的功能,是以「:」冒號為開頭的選擇器,和偽元素一樣,它必須附在 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的元素,其他都選取