虛擬元素簡介:

虛擬元素(pseudo-elements)是 CSS 中的一種特殊選擇器,用於選擇和樣式化元素的特定部分,而不是整個元素本身。虛擬元素經常用於在不修改 HTML 結構的情況下,增加額外的內容或對元素的某個部分進行定制樣式。

一句話解釋:讓CSS幫忙做HTML該做的事,甚至是加一些 HTML 裡面沒有的東西,這樣我們不用碰 HTML。

常見的虛擬元素包括:

  1. ::before::after

  2. ::first-line

  3. ::first-letter

  4. ::marker

虛擬元素可以幫助開發者更靈活地控制和設計網頁元素的外觀,無需直接在 HTML 中進行變更。這使得設計更加可維護且容易更新。


具體事例:valid與invalid

在 CSS 中,::valid::invalid 是兩個虛擬元素,用來根據表單輸入元素的驗證狀態來設置樣式。這些虛擬元素可以用來自動為符合或不符合驗證規則的表單元素添加樣式,使得用戶能夠即時看到輸入是否有效。

::valid::invalid 的用途

如何使用

範例 1:設定 ::valid::invalid 樣式

<form>
  <label for="email">Email:</label>
  <input type="email" id="email" required>

  <label for="phone">Phone (123-456-7890):</label>
  <input type="text" id="phone" pattern="\\\\d{3}-\\\\d{3}-\\\\d{4}" required>

  <button type="submit">Submit</button>
</form>