自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

偽類與偽元素是怎么回事兒

開發(fā) 前端
想要了解偽類與偽元素,我們不得不提到 CSS 選擇器,CSS 選擇器是元素和其他部分組合起來,告訴瀏覽器哪個 HTML 元素應(yīng)當是被選為應(yīng)用規(guī)則中的 CSS 屬性值的方式。

[[414292]]

本文轉(zhuǎn)載自微信公眾號「三分鐘學(xué)前端」,作者sisterAn。轉(zhuǎn)載本文請聯(lián)系三分鐘學(xué)前端公眾號。

CSS 選擇器

想要了解偽類與偽元素,我們不得不提到 CSS 選擇器,CSS 選擇器是元素和其他部分組合起來,告訴瀏覽器哪個 HTML 元素應(yīng)當是被選為應(yīng)用規(guī)則中的 CSS 屬性值的方式

選擇器的種類有:

  • 類型、類和ID選擇器
  • 標簽屬性選擇器
  • 運算符
  • 偽類與偽元素

類型、類和ID選擇器

  1. h1 { } /* 類型選擇器 */ 
  2. .box { } /* 類選擇器 */ 
  3. #unique { } /* ID選擇器 */ 

標簽屬性選擇器

這組選擇器根據(jù)一個元素上的某個標簽屬性是否存在來選擇:

  1. a[title] { } 

或者根據(jù)標簽屬性是否是特定值來選擇:

  1. a[href="https://example.com"] { } 

運算符

這種選擇器可以將其他選擇器組合起來,更復(fù)雜的選擇元素。下面的示例就是利用運算符(>)選擇了 元素的初代子元素

  1. article > p { } 

偽類與偽元素

最后一組就是偽類與偽元素,這一類選擇器的數(shù)量眾多,通常用于很明確的目的

偽類與偽元素

什么是偽類?什么是偽元素?

  • 偽類:用于選擇處于 特定狀態(tài) 的元素,比如鼠標懸浮狀態(tài)( :hover )。它們表現(xiàn)得會像是你向你的文檔的某個部分應(yīng)用了一個類一樣,幫你在你的標記文本中減少多余的類,讓你的代碼更靈活、更易于維護。
  • 偽元素:以類似方式表現(xiàn),不過表現(xiàn)得是像你往標記文本中加入全新的HTML元素一樣,產(chǎn)生的效果是把不存在的元素硬選出來

偽類與偽元素的區(qū)別

表現(xiàn)方式區(qū)別:

偽類表現(xiàn)的是某種狀態(tài)被選擇出來,例如 :hover 、 :checked ,而偽元素表現(xiàn)的是選擇元素的某個部分,使這部分看起來像一個獨立的元素,其實并不是,例如 ::before 、 ::after

抽象的說,偽類就是選擇元素某狀態(tài),偽元素就是創(chuàng)建一個HTML元素

符號區(qū)別

偽類使用單冒號 : ,偽元素開頭為雙冒號 :: ,單需要注意的是 CSS3 之前并沒有定義偽元素,都統(tǒng)稱為偽類,所以目前絕大多數(shù)的瀏覽器都同時支持使用這兩種方式來表示偽元素

常見的偽類與偽元素

偽類:

偽元素:

::before 與 ::after

接下來我們說說最常用、最經(jīng)典的 ::before 和 ::after 偽元素, ::before 表示在元素內(nèi)容之前插入一個虛擬的元素, ::after 則表示在元素內(nèi)容之后插入,并且 ::before 和 ::after 中支持所有的 CSS 屬性。

但需要注意的是這兩個偽元素所在的 CSS 規(guī)則必須指定 content 屬性才會生效

content 屬性

content 可取string、attr()、url()/uri():

string

  1. <p>三分鐘學(xué)前端</p> 
  2. <style> 
  3.   p::before{ 
  4.     content: "❤️"
  5.     color: red; 
  6.   } 
  7.   p::after
  8.     content: "❤️"
  9.     color: red; 
  10.   } 
  11. </style> 

[[414293]]

attr()

  1. <a href="https://github.com/Advanced-Frontend/Daily-Interview-Question">❤️三分鐘學(xué)前端❤️</a> 
  2. <style> 
  3.   a::after { 
  4.     content: ' → ' attr(href); /* 在 href 前顯示一個箭頭 */ 
  5.   } 
  6. </style> 

url()/uri()

  1. <p>❤️三分鐘學(xué)前端❤️</p> 
  2. <style> 
  3.   p::after { 
  4.     content: url("http://resource.muyiy.cn/image/20210729234502.jpeg"); 
  5.   } 
  6. </style> 

[[414294]]

 

這兩個偽元素常用于一些修飾性元素,以純 CSS 代碼添加進去,就能很好地保持 HTML 代碼中的語義,既完成了顯示效果,又不會讓 DOM 中出現(xiàn)很多無語義的空元素

原文鏈接:https://github.com/Advanced-Frontend/Daily-Interview-Question

 

責任編輯:武曉燕 來源: 三分鐘學(xué)前端
相關(guān)推薦

2017-11-24 11:10:38

區(qū)塊鏈礦工分叉

2018-05-08 08:46:47

Linux內(nèi)存釋放

2011-05-23 14:10:00

2020-08-18 08:08:59

CSS偽元素偽類

2021-07-07 05:37:57

郵件安全網(wǎng)絡(luò)攻擊數(shù)據(jù)泄露

2020-06-30 08:12:32

VMwareKVMDocker

2022-10-19 12:00:32

CSS 偽類偽元素

2023-03-29 08:24:30

2016-10-19 14:54:46

css選擇器css3css

2015-04-23 09:34:51

Windows開源

2021-06-04 11:10:04

JavaScript開發(fā)代碼

2020-02-18 11:19:36

物聯(lián)網(wǎng)病毒物聯(lián)網(wǎng)IOT

2010-09-06 12:32:10

CSS偽元素

2017-08-08 15:35:37

前端CSS偽元素

2023-05-31 16:40:01

2018-01-25 16:07:41

匿名函數(shù)自執(zhí)行

2016-11-22 19:54:56

點擊率預(yù)估推薦算法廣告

2023-10-12 08:54:20

Spring事務(wù)設(shè)置

2017-10-11 13:20:36

2010-09-07 10:39:59

CSS偽元素
點贊
收藏

51CTO技術(shù)棧公眾號