這篇文章給大家分享的是有關(guān)css中偽類和偽對象有什么區(qū)別的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
十余年專注成都網(wǎng)站制作,成都定制網(wǎng)頁設(shè)計,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)頁設(shè)計,高端網(wǎng)頁制作,對混凝土泵車等多個行業(yè),擁有豐富建站經(jīng)驗。
偽類是用于向某些選擇器添加特殊效果的;偽元素是用于將特殊的效果添加到某些選擇器的。偽類的效果可以通過添加實際的類來實現(xiàn);偽對象的效果可以通過添加實際的元素來實現(xiàn)。簡單來說,它們的本質(zhì)區(qū)別為是否抽象創(chuàng)造了新元素。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3版、Dell G3電腦。
其中偽類和偽元素(偽對象)的根本區(qū)別在于:它們是否創(chuàng)造了新的元素。
偽元素/偽對象:不存在在DOM文檔中,是虛擬的元素,是創(chuàng)建新元素。代表某個元素的子元素,這個子元素雖然在邏輯上存在,但卻并不實際存在于文檔樹中。
偽對象選擇符
Properties 屬性 | CSS Version 版本 | Inherit From Parent 繼承性 | Description 簡介 |
---|---|---|---|
E:first-letter/E::first-letter | CSS3/CSS1 | 無 | CSS2/CSS1 E:first-letter/E::first-letter 偽對象選擇符,設(shè)置對象內(nèi)的第一個字符的樣式。 |
E:first-line/E::first-line | CSS3/CSS1 | 無 | CS3/CSS1 偽對象選擇符 E:first-line/E::first-line,設(shè)置對象內(nèi)的第一行的樣式。 |
E:before/E::before | CSS3/CSS2 | 無 | CSS3/CSS3 偽對象選擇符 E:before/E::before,設(shè)置在對象前(依據(jù)對象樹的邏輯結(jié)構(gòu))發(fā)生的內(nèi)容。用來和content屬性一起使用 |
E:after/E::after | CSS3/CSS2 | 無 | CSS3/CSS2 偽對象選擇符 E:after/E::after,設(shè)置在對象后(依據(jù)對象樹的邏輯結(jié)構(gòu))發(fā)生的內(nèi)容。用來和content屬性一起使用 |
E::selection | CSS3 | 無 | CSS3 偽對象選擇符 E::selection,設(shè)置對象被選擇時的顏色。 |
偽類:存在DOM文檔中,邏輯上存在但在文檔樹中卻無須標(biāo)識的“幽靈”分類。
偽類選擇符
Properties 屬性 | CSS Version 版本 | Inherit From Parent 繼承性 | Description 簡介 |
---|---|---|---|
E:link | CSS1 | 無 | CSS1 偽類選擇符 E:link ,設(shè)置超鏈接a在未被訪問前的樣式。 |
E:visited | CSS1 | 無 | CSS1 偽類選擇符 E:visited,設(shè)置超鏈接a在其鏈接地址已被訪問過時的樣式。 |
E:hover | CSS2 | 無 | CSS2/CSS1 偽類選擇符 E:hover,設(shè)置元素在其鼠標(biāo)懸停時的樣式。 |
E:active | CSS2/CSS1 | 無 | CSS2/CSS1 偽類選擇符 E:active,設(shè)置元素在被用戶激活(在鼠標(biāo)點擊與釋放之間發(fā)生的事件)時的樣式。 |
E:focus | CSS2/CSS1 | 無 | CSS2/CSS1 偽類選擇符 E:focus,設(shè)置元素在成為輸入焦點(該元素的onfocus事件發(fā)生)時的樣式。 |
E:lang() | CSS2 | 無 | CSS2 偽類選擇符 E:lang() 匹配使用特殊語言的E元素。 |
E:not() | CSS3 | 無 | CSS3 偽類選擇符 E:not() 匹配不含有s選擇符的元素E。 |
E:root | CSS3 | 無 | CSS3 偽類選擇符 E:root,匹配E元素在文檔的根元素。 |
E:first-child | CSS2 | 無 | CSS2 偽類選擇符 E:first-child 匹配父元素的第一個子元素E。 |
E:last-child | CSS3 | 無 | CSS3 偽類選擇符 E:last-child 匹配父元素的最后一個子元素E。 |
E:only-child | CSS3 | 無 | CSS3 為例選擇符 E:only-child 匹配父元素僅有的一個子元素E。 |
E:nth-child(n) | CSS3 | 無 | CSS3 偽類選擇符 E:nth-child(n) 匹配父元素的第n個子元素E。 |
E:nth-last-child(n) | CSS3 | 無 | CSS3 偽類選擇符 E:nth-last-child(n) 匹配父元素的倒數(shù)第n個子元素E。 |
E:first-of-type | CSS2 | 無 | CSS3 偽類選擇符 E:first-of-type 匹配同類型中的第一個同級兄弟元素E。 |
E:last-of-type | CSS3 | 無 | CSS3 偽類選擇符 E:last-of-type 匹配同類型中的最后一個同級兄弟元素E。 |
E:only-of-type | CSS3 | 無 | CSS3 偽類選擇符 E:only-of-type,匹配同類型中的唯一的一個同級兄弟元素E。 |
E:nth-of-type(n) | CSS3 | 無 | CSS3 偽類選擇符 E:nth-of-type(n),匹配同類型中的第n個同級兄弟元素E。 |
E:nth-last-of-type(n) | CSS3 | 無 | CSS3 偽類選擇符 E:nth-last-of-type(n) 匹配同類型中的倒數(shù)第n個同級兄弟元素E。 |
E:empty | CSS3 | 無 | CSS3 偽類選擇符 E:empty 匹配沒有任何子元素(包括text節(jié)點)的元素E。 |
E:checked | CSS3 | 無 | CSS3 偽類選擇符 E:checked 匹配用戶界面上處于選中狀態(tài)的元素E。(用于input type為radio與checkbox 的form元素) |
E:enabled | CSS3 | 無 | CSS3 偽類選擇符 E:enabled 匹配用戶界面上處于可用狀態(tài)的元素E。 |
E:disabled | CSS3 | 無 | CSS3 偽類選擇符 E:disabled 匹配用戶界面上處于禁用狀態(tài)的元素E。 |
E:target | CSS3 | 無 | CSS3 偽類選擇符 E:target 匹配相關(guān)URL指向的E元素。 |
@page:first | CSS2 | 無 | CSS2 偽類選擇符 @page:first 設(shè)置頁面容器第一頁使用的樣式。僅用于@page規(guī)則 |
@page:left | CSS2 | 無 | CSS2 偽類選擇符 @page:left 置頁面容器位于裝訂線左邊的所有頁面使用的樣式。僅用于@page規(guī)則 |
@page:right | CSS2 | 無 | CSS2 為對象選擇符 @page:right 設(shè)置頁面容器位于裝訂線右邊的所有頁面使用的樣式。僅用于@page規(guī)則 |
偽類:用于向某些選擇器添加特殊的效果
偽元素:用于將特殊的效果添加到某些選擇器
其實根本意思就是就是對那些不能通過class、id等選擇元素的補充
舉個栗子:
<div> <p>a</p> <p>b c</p> </div>
如果我們想要第一個p標(biāo)簽字體顏色變紅怎么做呢 使用偽類就會很簡單:
p:first-child { color: red; }
但是如果不用偽類我們怎么做呢? 這時我們就需要為第一個p標(biāo)簽添加一個類class
<div> <p class="first-child">a</p> <p>b c</p> </div>
p:first-child { color: red; }
可以實現(xiàn)同樣的效果,但是需要多寫一個類
如果使用偽元素該如何實現(xiàn)上述操作呢?
p::first-letter { color: red; }
如果不用偽元素我們怎么做呢?
<div> <p><span>a</span></p> <p>b c</p> </div>
p span { color: red; }
可以看出二者區(qū)別了,
偽類的效果可以通過添加實際的類來實現(xiàn)
偽元素的效果可以通過添加實際的元素來實現(xiàn)
所以它們的本質(zhì)區(qū)別就是是否抽象創(chuàng)造了新元素
注意:
偽類只能使用“:
”
而偽元素既可以使用“:
”,也可以使用“::
”
因為偽類是類似于添加類所以可以是多個,而偽元素在一個選擇器中只能出現(xiàn)一次,并且只能出現(xiàn)在末尾
相關(guān)問題
:after/::after和:before/::before的異同
相同點:
都可以用來表示偽類對象,用來設(shè)置對象前的內(nèi)容
:before和::before寫法是等效的; :after和::after寫法是等效的
不同點:
:before/:after是Css2的寫法,::before/::after是Css3的寫法
:before/:after 的兼容性要比::before/::after好 ,
不過在H5開發(fā)中建議使用::before/::after比較好
注意:
偽對象要配合content屬性一起使用
偽對象不會出現(xiàn)在DOM中,所以不能通過js來操作,僅僅是在 CSS 渲染層加入
偽對象的特效通常要使用:hover偽類樣式來激活
eg:當(dāng)鼠標(biāo)移在span上時,span前插入”duang”
<style> span{ background: yellow; } span:hover::before{ content:"duang"; } </style> <span>222</span>
感謝各位的閱讀!關(guān)于“css中偽類和偽對象有什么區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
當(dāng)前文章:css中偽類和偽對象有什么區(qū)別
分享地址:http://jinyejixie.com/article40/ppepeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站改版、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、小程序開發(fā)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)