摘要:偽元素用于將特殊的效果添加到某些選擇器。因此,偽類與偽元素的區(qū)別在于有沒有創(chuàng)建一個(gè)文檔樹之外的元素。偽類代表了一組兄弟元素中的第一個(gè)元素。偽類的實(shí)質(zhì)就是把某種幻想類關(guān)聯(lián)到某種偽類相關(guān)的元素中。
在css2中是這樣定義二者的:
CSS 偽類用于向某些選擇器添加特殊的效果。CSS 偽元素用于將特殊的效果添加到某些選擇器。
偽類存在的意義是為了通過選擇器找到那些不存在DOM樹中的信息以及不能被常規(guī)CSS選擇器獲取到的信息。
第一點(diǎn)講的是獲取不存在與DOM樹中的信息。比如標(biāo)簽的:link、visited等,這些信息不存在與DOM樹結(jié)構(gòu)中,只能通過CSS選擇器來獲取;
第二點(diǎn)講的是獲取不能被常規(guī)CSS選擇器獲取的信息。比如偽類:target,它的作用是匹配文檔(頁面)的URI中某個(gè)標(biāo)志符的目標(biāo)元素。
target:URL 帶有后面跟有錨名稱 #,指向文檔內(nèi)某個(gè)具體的元素。這個(gè)被鏈接的元素就是目標(biāo)元素(target element)。
:target 選擇器可用于選取當(dāng)前活動(dòng)的目標(biāo)元素。
li:first-child類似于
li.first-child 一樣
這個(gè)時(shí)候,被修飾的
ul:first-letter類似于
ul:first-letter被修飾的時(shí)候,元素并不處于文檔樹中。
因此,偽類與偽元素的區(qū)別在于:有沒有創(chuàng)建一個(gè)文檔樹之外的元素。
:first-child CSS偽類代表了一組兄弟元素中的第一個(gè)元素。在level3實(shí)現(xiàn)中,被匹配的元素需要具有一個(gè)父級元素,而在level4實(shí)現(xiàn)中則不需要
:first-child 匹配的是某父元素的第一個(gè)子元素,可以說是結(jié)構(gòu)上的第一個(gè)子元素。
p:first-child,常見的錯(cuò)誤理解是這個(gè)選擇器是選擇p的第一個(gè)元素。
偽類的實(shí)質(zhì)就是把某種幻想類關(guān)聯(lián)到某種偽類相關(guān)的元素中。
:first-of-type 匹配的是該類型的第一個(gè),類型是指什么呢,就是冒號(hào)前面匹配到的東西,比如 p:first-of-type,就是指所有p元素中的第一個(gè)。這里不再限制是第一個(gè)子元素了,只要是該類型元素的第一個(gè)就行了,當(dāng)然這些元素的范圍都是屬于同一級的,也就是同輩的。偽元素同樣類型的選擇器 :last-child 和 :last-of-type、:nth-child(n) 和 :nth-of-type(n) 也可以這樣去理解。
偽元素包括:first-letter, :first-line, :before ,:after等
所有的偽元素都要寫在偽元素選擇器的最后面,如果這樣寫就會(huì)出錯(cuò),
p:first-letter em{ }
這是不允許的。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/113135.html
摘要:之前寫了一篇詳解屬性的博文,當(dāng)時(shí)自己沒分清楚偽元素和偽類,所以在文章內(nèi)把概念混淆了,慶幸兄指正了我的錯(cuò)誤,所以今天打算好好研究下兩者的區(qū)別。偽元素用于將特殊的效果添加到某些選擇器。偽類種類偽元素種類區(qū)別這里用偽類和偽元素來進(jìn)行比較。 之前寫了一篇 《詳解 CSS 屬性 - :before && :after》 的博文,當(dāng)時(shí)自己沒分清楚偽元素和偽類,所以在文章內(nèi)把概念混淆了,慶幸 @ri...
摘要:之前寫了一篇詳解屬性的博文,當(dāng)時(shí)自己沒分清楚偽元素和偽類,所以在文章內(nèi)把概念混淆了,慶幸兄指正了我的錯(cuò)誤,所以今天打算好好研究下兩者的區(qū)別。偽元素用于將特殊的效果添加到某些選擇器。偽類種類偽元素種類區(qū)別這里用偽類和偽元素來進(jìn)行比較。 之前寫了一篇 《詳解 CSS 屬性 - :before && :after》 的博文,當(dāng)時(shí)自己沒分清楚偽元素和偽類,所以在文章內(nèi)把概念混淆了,慶幸 @ri...
作為一個(gè)CSS3初學(xué)不久者來說,很容易混淆單冒號(hào)(:)和雙冒號(hào)(::)的用法,以為兩者可以互換著來使用。我自己之前也混淆過他們,因?yàn)閮烧呖雌饋硖嘞窳耍拖駥\生兄弟。但實(shí)際上,他們的區(qū)別還是挺大的,最多算得上近房親戚。 下面我們來開始講講單冒號(hào)(:)偽類和雙冒號(hào)(::)偽元素有什么相同和不同點(diǎn)(另外在CSS2中單冒號(hào): 也叫做偽對象,具體可看看http://www.mb5u.com/tool/cs...
摘要:偽類和偽元素,對于絕大多數(shù)同學(xué)來說,都是耳熟能詳?shù)拿郑_實(shí)又有很多人搞不清楚它們之間的區(qū)別,以致于混淆概念。除了上面這個(gè)本質(zhì)區(qū)別以外,在中,偽類用單冒號(hào)表示而偽元素用雙冒號(hào)表示。 showImg(https://segmentfault.com/img/bV4WC1?w=510&h=310); 偽類和偽元素,對于絕大多數(shù)同學(xué)來說,都是耳熟能詳?shù)拿郑_實(shí)又有很多人搞不清楚它們之間...
摘要:一的用法如同對偽元素的名稱一樣,是用來給指定的元素的內(nèi)容前面插入新的內(nèi)容。二偽類和偽元素的區(qū)別偽類種類偽元素種類偽類作用對象是整個(gè)元素例如盡管這些條件不是基于的,但結(jié)果每一個(gè)都是作用于一個(gè)完整的元素,比如整個(gè)鏈接,段落,等等。 一::before && :after的用法 :before 如同對偽元素的名稱一樣,:before 是用來給指定的元素的內(nèi)容前面插入新的內(nèi)容。舉例說明: .b...
閱讀 1523·2021-09-22 15:35
閱讀 2005·2021-09-14 18:04
閱讀 876·2019-08-30 15:55
閱讀 2449·2019-08-30 15:53
閱讀 2680·2019-08-30 12:45
閱讀 1203·2019-08-29 17:01
閱讀 2577·2019-08-29 15:30
閱讀 3514·2019-08-29 15:09