iT邦幫忙

2024 iThome 鐵人賽

DAY 15
0

概念

分成以下這幾類

1. Interactive states

和使用者即時互動相關的

  • :hover
  • :active
  • :focus:foucus-within:focus-visible
  • :target:找出 id 屬性和 URL fragment 相同的元素
<article id="content">
    …
</article>
/* 當 url 包含 #content 時,以上元素會套用以下樣式 */
#content:target {
    background: yellow;
}

2. Historic states

和過去紀錄相關

  • :link:套用在還沒被造訪過的 a 元素
  • :visited:套用已被造訪過的 a 元素

*避免超連結 pseudo-classes 被覆蓋,建議寫的順序為 LVHA::link -> :visited -> :hover -> :active

3. Form states

和表單元素有關的

  • :disabled:enabled
  • :checked:indeterminate
  • :placeholder-shown:當 placeholder 有值顯示時,選取當下的整個 field 欄位,而不是只有 placeholder 文字本身
  • 驗證類:
    • :valid:invalid
    • :in-range
    • :required:optional

4. Index & order & occurrence

  • :first-child:last-child
  • :only-child
  • :first-of-type:last-of-type
  • :nth-child:nth-of-type
  • :only-of-type

5. Finding elements

  • :empty:沒有 children 的元素,空格也算是 children
  • :is():符合 selector 的元素
  • :not():排除 selector 中的元素

補充

::placeholder-shown::placeholder 的差異
https://ithelp.ithome.com.tw/upload/images/20240921/20128122fJ44vHmwNE.png
圖取自 CSS TRICKS - ::placeholder


上一篇
Pseudo-elements
下一篇
Borders
系列文
一個人的朝聖:重啟對 CSS 的認識30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言