偽類

Frontend SELF TW
等級 13, 課堂 1
開放

7.1 狀態偽類

CSS中的偽類 是特殊的關鍵字,添加到選擇器以指示元素的狀態或者其在文檔結構中的位置。它們允許在特定狀態或情況下對元素應用樣式,這些狀態或情況無法通過普通選擇器指定。

主要偽類:

  • 狀態偽類
  • 結構狀態偽類
  • 表單偽類
  • 導航偽類

語法:

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

狀態偽類

這些偽類用於根據元素的當前狀態進行樣式設計,例如當滑鼠懸停或元素被激活時:

  • :hover — 當用戶將滑鼠懸停在元素上時應用
  • :active — 當元素被激活時應用(通常在點擊時)
  • :focus — 當元素獲得焦點時應用(例如使用鍵盤時)
  • :visited — 應用於已訪問的連結
  • :link — 應用於未訪問的連結

7.2 偽類 hover

偽類 :hover 應用於當使用者將滑鼠指標移至元素上時。這通常用於在懸停時更改連結和按鈕的外觀。

語法:

    
      選擇器:hover {
        屬性: ;
        屬性: ;
      }
    
  

範例:

這個選擇器會改變文本的顏色並在滑鼠懸停時連結加上下劃線。

HTML
    
      <a href="#">假連結</a>
    
  
CSS
    
      a:hover {
        color: red;
        text-decoration: underline;
      }
    
  

應用:

  • 透過視覺反饋增強用戶介面(UI)
  • 用於按鈕、連結和其他互動元素

7.3 偽類 focus

偽類 :focus 被應用於當元素獲得焦點。例如,當被點擊或者透過Tab鍵轉到它時。通常用於輸入框和其他表單元素。

語法:

    
      選擇器:focus {
        屬性: ;
        屬性: ;
      }
    
  

範例:

這個選擇器改變了輸入框的邊框顏色並在獲得焦點時去掉了描邊。

HTML
    
      <input type="text" name="text" id="text">
    
  
CSS
    
      input:focus {
        border-color: blue;
        outline: none;
      }
    
  

應用:

  • 增強網頁的可達性
  • 使互動元素在獲得焦點時更醒目

7.4 偽類 nth-child

偽類 :nth-child 被應用於根據它們在父元素中位置的元素。它接受一個參數,可以是數字、關鍵字或表達式。

語法:

    
      選擇器:nth-child(n) {
        屬性: ;
        屬性: ;
      }
    
  

範例:

這個選擇器允許根據它們在兄弟姐妹中的位置來應用樣式。

HTML
    
      <ul>
        <li>Element 1</li>
        <li>Element 2</li>
        <li>Element 3</li>
        <li>Element 4</li>
        <li>Element 5</li>
        <li>Element 6</li>
        <li>Element 7</li>
      </ul>
    
  
CSS
    
      /* 應用樣式到所有奇數子元素 */
      li:nth-child(odd) {
          background-color: lightgray;
      }

      /* 應用樣式到所有偶數子元素 */
      li:nth-child(even) {
          background-color: lightblue;
      }

      /* 應用樣式到第二個子元素 */
      li:nth-child(2) {
          color: red;
      }
    
  

應用:

  • 樣式化表格行、列表元素和其他重複性結構
  • 允許在不添加額外類別的情況下創建複雜的佈局和樣式

7.5 偽類的使用範例

HTML
    
      <button type="button">Button</button>
    
  
CSS
    
      button:hover, button:focus {
        background-color: darkblue;
        color: white;
      }
    
  

樣式化偶數表格行:

HTML
    
      <table>
        <tr>
          <th>名稱</th>
          <th>數量</th>
          <th>價格</th>
        </tr>
        <tr>
          <td>商品 1</td>
          <td>5</td>
          <td>10元</td>
        </tr>
        <tr>
          <td>商品 2</td>
          <td>3</td>
          <td>15元</td>
        </tr>
        <tr>
          <td>商品 3</td>
          <td>8</td>
          <td>7元</td>
        </tr>
      </table>
    
  
CSS
    
      tr:nth-child(even) {
        background-color: #f2f2f2;
      }
    
  

將某些元素排除於共用樣式之外:

HTML
    
      <ul>
        <li class="list-item">Element 1</li>
        <li class="list-item">Element 2</li>
        <li class="list-item">Element 3</li>
        <li class="list-item">Element 4</li>
        <li class="list-item">Element 5</li>
        <li class="list-item">Element 6</li>
        <li class="list-item">Element 7</li>
      </ul>
    
  
CSS
    
      .list-item:not(:last-child) {
        border-bottom: 1px solid #ddd;
      }
    
  
1
任務
Frontend SELF TW, 等級 13, 課堂 1
上鎖
偽類
偽類
1
任務
Frontend SELF TW, 等級 13, 課堂 1
上鎖
偽類
偽類
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION