CSS 偽元素指南
在 CSS 的世界裡,偽元素是一個強大但常被忽視的功能。本文將深入探討 CSS 偽元素,特別是 ::before 和 ::after,以及其他常用的偽元素。
什麼是偽元素?
偽元素允許您在文檔中插入內容或選擇特定部分,而無需修改 HTML 結構。它們使用雙冒號 :: 語法(儘管出於向後兼容性,某些偽元素也支援單冒號 : 語法)。
CSS 偽元素列表
以下是常見的 CSS 偽元素:
::before- 在元素內容之前插入內容::after- 在元素內容之後插入內容::first-line- 選擇元素的第一行::first-letter- 選擇元素的第一個字母::selection- 選擇用戶高亮的部分::placeholder- 選擇輸入框的預設文字::marker- 選擇列表項目的標記(例如點或數字)::backdrop- 用於全螢幕元素底下的背景
較少使用但在特定情況下很有用的偽元素:
::cue- 用於 WebVTT 字幕::slotted()- 用於 Web Components 中的投影內容
::before 和 ::after 詳解
::before 和 ::after 是最常用的偽元素,它們允許我們在元素的內容之前或之後插入生成的內容。
基本語法
1 | selector::before { |
注意: content 屬性是必須的,即使它的值是空字串。
常見用途
- 添加圖示
- 創建裝飾性元素
- 清除浮動 (clearfix)
- 添加工具提示
- 實現計數器功能
(這裡可以保留原文中的詳細例子)
其他偽元素的使用
::first-line 和 ::first-letter
這兩個偽元素常用於排版設計,特別是文章或段落的開頭。
1 | p::first-line { |
::selection
用來自定義用戶選中文字時的樣式。
1 | ::selection { |
::placeholder
自定義輸入框的預設文字樣式。
1 | input::placeholder { |
::marker
自定義列表項目的標記樣式。
1 | li::marker { |
::backdrop
當元素處於全螢幕模式時,為其底下的背景添加樣式。
1 | dialog::backdrop { |
注意事項
- 偽元素預設是行內元素。
- 偽元素無法選中或直接操作,因為它們不存在於 DOM 中。
- 某些 HTML 元素(如 img)不支援 ::before 和 ::after。
- 不是所有的偽元素都能在所有元素上使用,使用時需要注意兼容性。
結論
CSS 偽元素為網頁設計師和開發者提供了豐富的可能性。它們允許我們添加額外的內容、修改特定部分的樣式,同時保持 HTML 的簡潔和語義化。靈活運用這些偽元素,可以讓你的網頁設計更加靈活、有創意,同時提高代碼的可維護性。
希望這篇完整的 CSS 偽元素指南能幫助你更好地理解和運用這些強大的 CSS 功能。happy coding!
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 kyosora 筆記!
評論
