偽類介紹

Frontend SELF TW
等級 29 , 課堂 0
開放

1.1 偽類

CSS 中的偽類 是一些特殊的關鍵字,附加在選擇器後面,用來指出狀態或在文檔樹中的位置。它們允許你在不需在 HTML 代碼中添加 classes 或 ids 的情況下,根據狀態或與其他元素的關係來設置元素樣式。

偽類的基本概念

  1. 定義元素的狀態:
    • 偽類可以指出元素狀態,例如鼠標懸停、焦點或激活
  2. 定義元素的位置:
    • 偽類可以指出元素相對於其父元素或其他元素的位置,比如第一個或最後一個元素
  3. 特殊情況和邏輯組:
    • 偽類還可以定義特殊情況,例如第一個類型的元素或奇數/偶數元素

如何使用偽類

偽類通過使用冒號 (:) 附加在選擇器後面。它們可以與元素選擇器、classes、ids 及其他選擇器一起使用。

語法:

    
      選擇器:偽類 {
        屬性: ;
      }
    
  

使用範例

1. 帶有偽類的元素選擇器

在此範例中,所有第一個段落 (<p>) 的父元素將會是粗體:

CSS
    
      p:first-of-type {
        font-weight: bold;
      }
    
  

2. 帶有偽類的 class 選擇器

在此範例中,所有 class 為 .button 的元素在鼠標懸停時背景會變成藍色:

CSS
    
      .button:hover {
        background-color: blue;
      }
    
  

3. 結合偽類的選擇器

在此範例中,class 為 .container 的元素中的所有偶數段落 (<p>) 將會是紅色:

CSS
    
      .container > p:nth-child(2n) {
          color: red;
      }
    
  

1.2 偽類範例及其應用

1. 定義狀態的偽類

定義元素狀態的偽類允許依據用戶互動或元素狀態來改變其樣式。

CSS
    
      a:link {
        color: blue;
      }

      a:visited {
        color: purple;
      }

      a:hover {
        color: red;
      }

      a:active {
        color: green;
      }
    
  

2. 定義位置的偽類

定義元素位置的偽類允許根據元素在 DOM 結構中的位置來套用樣式。

CSS
    
      li:first-child {
          font-style: italic;
      }

      li:last-child {
          font-style: italic;
      }

      li:nth-child(odd) {
          background-color: #f0f0f0;
      }

      li:nth-child(even) {
          background-color: #ffffff;
      }
    
  

3. 用於邏輯組的偽類

這些偽類允許根據其邏輯組或類型來設置元素樣式。

CSS
    
      input:checked {
        background-color: yellow;
      }

      input:disabled {
        background-color: grey;
      }

      input:enabled {
        background-color: white;
      }
    
  
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION