iT邦幫忙

2021 iThome 鐵人賽

DAY 6
0
Modern Web

Modern CSS 超詳細新手攻略系列 第 8

[13th-鐵人賽]Day 8:Modern CSS 超詳細新手攻略 - 偽元素 Pseudo Element

  • 分享至 

  • xImage
  •  

偽類與偽元素差別

https://ithelp.ithome.com.tw/upload/images/20210914/20141395Z8ZD4LDfpg.jpg

  1. 如果你只在偽元素前加一個冒號,你有時會發現也可以正常運行,但在CSS3之後偽元素改為2個冒號以便和偽類分開,因此請盡量使用2個冒號的寫法才是最新且正確的寫法

  2. 偽類屬於選擇器,並不會出現於DOM tree,而偽元素確實會出現於DOM tree中

偽元素基本語法

常用偽元素有::before及::after,偽元素可以創建一個原本不在DOM tree中的元素。經常用於網頁中的微互動元素,如hover文字後出現底線、radio、checkbox樣式改寫、tooltips等。

** example **
添加偽元素之前
HTML:
https://ithelp.ithome.com.tw/upload/images/20210914/20141395CpodPQibha.jpg
CSS:
https://ithelp.ithome.com.tw/upload/images/20210914/20141395qjIDYVylux.jpg
RESULT:
https://ithelp.ithome.com.tw/upload/images/20210914/20141395ZdpLV3a6BP.jpg

添加偽元素之後
https://ithelp.ithome.com.tw/upload/images/20210914/20141395UPxyfzjJuK.jpg
https://ithelp.ithome.com.tw/upload/images/20210914/201413955aNgoSvkJM.jpg

  • content為偽元素最重要的部分,填上偽元素內容,亦可留白在之後用寬高定義,少了它偽元素無法正常顯示。
  • before的位置在該元素之前
  • after的位置在該元素之後

用法範例

** 微互動元素 **
Demo

HTML:
https://ithelp.ithome.com.tw/upload/images/20210914/20141395Bf0gdvd4KI.jpg

CSS:
https://ithelp.ithome.com.tw/upload/images/20210914/20141395mZ7CCrwcYP.jpg

  • 使用absolute定位將偽元素定在文字下方
  • 內容以寬高定義,預設的寬度為0,hover之後寬度為100%
  • transition使動畫在視覺上看起來較順暢

上一篇
[13th-鐵人賽]Day 7:Modern CSS 超詳細新手攻略 - 偽類 Pseudo Classes
下一篇
[13th-鐵人賽]Day 9:Modern CSS 超詳細新手攻略 - Specificity
系列文
Modern CSS 超詳細新手攻略11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言