偽元素和偽類的區別總結
其中偽類和偽元素的根本區別在於:它們是否創造了新的元素。
偽元素/偽物件:不存在在DOM文件中,是虛擬的元素,是建立新元素。代表某個元素的子元素,這個子元素雖然在邏輯上存在,但卻並不實際存在於文件樹中。
偽元素選擇符
偽類:存在DOM文件中,邏輯上存在但在文件樹中卻無須標識的“幽靈”分類。
偽類選擇符
再看看W3C中對於二者應用的描述:
偽類:用於向某些選擇器新增特殊的效果
偽元素:用於將特殊的效果新增到某些選擇器
其實根本意思就是就是對那些不能通過class、id等選擇元素的補充
舉個例子:
如果我們想要第一個p標籤字型顏色變紅怎麼做呢 使用偽類就會很簡單:
但是如果不用偽類我們怎麼做呢? 這時我們就需要為第一個p標籤新增一個類class
可以實現同樣的效果,但是需要多寫一個類
如果使用偽元素該如何實現上述操作呢?
如果不用偽元素我們怎麼做呢?
可以看出二者區別了,
偽類的效果可以通過新增實際的類來實現
偽元素的效果可以通過新增實際的元素來實現
所以它們的本質區別就是是否抽象創造了新元素
注意:
偽類只能使用“:”
而偽元素既可以使用“:”,也可以使用“::”
因為偽類是類似於新增類所以可以是多個,而偽元素在一個選擇器中只能出現一次,並且只能出現在末尾
相關問題
:after/::after和:before/::before的異同
相同點
都可以用來表示偽類物件,用來設定物件前的內容
:before和::before寫法是等效的; :after和::after寫法是等效的
不同點
:before/:after是Css2的寫法,::before/::after是Css3的寫法
:before/:after 的相容性要比::before/::after好 ,
不過在H5開發中建議使用::before/::after比較好
注意:
偽物件要配合content屬性一起使用
偽物件不會出現在DOM中,所以不能通過js來操作,僅僅是在 CSS 渲染層加入
偽物件的特效通常要使用:hover偽類樣式來啟用
eg:當滑鼠移在span上時,span前插入”duang”
相關文章
- 偽類與偽元素的區別
- [CSS] 偽元素和偽類,::before 和 :before 區別CSS
- CSS偽元素詳解以及偽元素與偽類的區別CSS
- 偽類和偽元素
- CSS偽類與偽元素選擇器區別CSS
- 06-偽類和偽元素
- CSS3偽類和偽元素CSSS3
- css3 中的偽類和偽元素CSSS3
- 一次弄懂CSS的偽類和偽元素CSS
- 「前端面試題系列3」偽類與偽元素的區別及實戰前端面試題
- 重新整理了偽類偽元素
- #07你認真學了css?偽類和偽元素CSS
- 2022 最受歡迎的 CSS 偽類、偽元素分別是什麼CSS
- HTML表單及CSS選擇器、偽類和偽元素HTMLCSS
- CSS中一些利用偽類、偽元素和相鄰元素選擇器的技巧CSS
- 【愣錘筆記】你真的瞭解什麼是偽類和偽元素嗎筆記
- 偽元素 before 和 after 初探
- 偽靜態、靜態和動態的區別
- 笑談CSS的偽元素CSS
- 求教:Selenium 中怎麼獲取偽類元素,
- Css 偽類/偽類物件使用整理_使用案例CSS物件
- 偽類的練習
- CSS3新增選擇器(屬性選擇器、結構偽類選擇器、偽元素選擇器)CSSS3
- 偽類選擇器:愛恨法則;偽元素選擇器:before,after;清除浮動
- 瞭解css中偽元素 before和after的用法CSS
- css偽元素(before與after)CSS
- CSS的偽元素使用例子之一CSS
- 偽分散式hdfs的配置(個人總結)分散式
- css3偽元素選擇器before 和 after 的使用CSSS3
- CSS E::after 偽元素選擇器CSS
- CSS E::before 偽元素選擇符CSS
- Css字型圖示偽元素方式引入CSS
- 偽元素 content 出現中文亂碼
- 【IP】偽造 && 甄別
- :fullscreen 偽類選擇器
- css偽類選擇符CSS
- CSS 偽類選擇器CSS
- CSS偽類使用詳解CSS