本篇內(nèi)容主要講解“css3的偽類和偽元素的區(qū)別有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“css3的偽類和偽元素的區(qū)別有哪些”吧!
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)建站為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計(jì)制作,服務(wù)好的網(wǎng)站設(shè)計(jì)公司,成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作負(fù)責(zé)任的成都網(wǎng)站制作公司!
區(qū)別:1、偽類用于已有元素處于某種狀態(tài)時(shí)為其添加對(duì)應(yīng)的樣式,而偽元素用于創(chuàng)建一些不在DOM樹中的元素并為其添加樣式;2、偽元素會(huì)創(chuàng)建一個(gè)文檔樹之外的元素,偽類不會(huì);3、偽元素使用雙冒號(hào)“::”表示,偽類使用單冒號(hào)“:”表示。
本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。
什么是偽類和偽元素
提到“偽”字,你想到了什么?“假的”,“汪精衛(wèi)偽政府”,“不存在的”······
偽類:用于已有元素處于某種狀態(tài)時(shí)(滑動(dòng)、點(diǎn)擊等)為其添加對(duì)應(yīng)的樣式,這個(gè)狀態(tài)是根據(jù)用戶行為而動(dòng)態(tài)變化的。我的理解就是:本身不存在,只有在特定的情況(滑動(dòng)、點(diǎn)擊)下才會(huì)被觸發(fā)的狀態(tài),可以用css去修飾這個(gè)狀態(tài)下的對(duì)象。例如:當(dāng)用戶懸停在指定元素時(shí),可以通過:hover來描述這個(gè)元素的狀態(tài),雖然它和一般css相似,可以為已有元素添加樣式,但是它只有處于DOM樹無法描述的狀態(tài)下才能為元素添加樣式,所以稱為偽類。
偽元素:用于創(chuàng)建一些不在DOM樹中的元素,并為其添加樣式。例如,我們可以通過:before來在一個(gè)元素之前添加一些文本,并為這些文本添加樣式,雖然用戶可以看見這些文本,但是它實(shí)際上并不在DOM文檔中。
偽類和偽元素的區(qū)別:
請(qǐng)看下面例子:
例一:
如果我們想要給第一列添加樣式,我們可以通過以下兩種方式:
(1)給第一列添加一個(gè)類,并在該類中定義樣式:
(2)如果不用添加類的方法,我們可以通過給第一個(gè)
例二:
Hello World, and wish you have a good day!
想要給該段落第一個(gè)字母添加樣式,可以有以下方法:
(1)給第一個(gè)字母包裹元素,并給span設(shè)置樣式:
Hello World, and wish you have a good day!
.first{color:red;}
(2)如果不創(chuàng)建元素,我們可以通過給 元素設(shè)置P:first-letter偽元素為其添加樣式,這時(shí)看起來像創(chuàng)建了一個(gè)虛擬的span元素并為其添加樣式,但實(shí)際上在DOM數(shù)中并不存在這個(gè)span元素 Hello World, and wish you have a good day! 從上述例子中我們可以看出:偽類的操作對(duì)象是文檔樹中已有的元素,而偽元素則創(chuàng)建了一個(gè)文檔樹外的元素。因此,偽類與偽元素的區(qū)別在于:有沒有創(chuàng)建一個(gè)文檔樹之外的元素。 偽元素使用單冒號(hào)還是雙冒號(hào)? css3規(guī)范中要求使用雙冒號(hào)(::)表示偽元素,以此來區(qū)分偽類和偽元素,比如::before和::after等偽元素使用雙冒號(hào)(::),:hover和:active偽類使用單冒號(hào)(:)。除了一些低于IE8版本的瀏覽器外,大部分瀏覽器都支持偽元素的雙冒號(hào)(::)表示方法。 然而除了少部分偽元素如::backdrop必須使用雙冒號(hào)(::),大部分偽元素都支持單冒號(hào)和雙冒號(hào)的寫法,比如::after,寫成:after一樣可以正常運(yùn)行。 w3c標(biāo)準(zhǔn)中說到,雖然CSS3標(biāo)準(zhǔn)要求偽元素使用雙冒號(hào)的寫法,但也依然支持單冒號(hào)的寫法。為了向后兼容,我們建議你在目前還是使用單冒號(hào)的寫法。 常用偽類有: :active 選擇正在被激活的元素(匹配指定狀態(tài)) :hover 選擇被鼠標(biāo)懸浮著的元素(匹配指定狀態(tài)) :link 選擇未被訪問的元素 (匹配指定狀態(tài)) :visited 選擇已被訪問的元素(匹配指定狀態(tài)) :first-child 選擇滿足是其父元素的第一個(gè)子元素的元素 :lang(value) 選擇帶有指定 lang 屬性的元素 :focus 選擇擁有鍵盤輸入焦點(diǎn)的元素 :enable 選擇每個(gè)已啟動(dòng)的元素 :disable 選擇每個(gè)已禁止的元素 :checked 選擇每個(gè)被選中的元素 :target 選擇當(dāng)前的錨點(diǎn)元素 :first-of-type 選擇滿足是其父元素的第一個(gè)某類型子元素的元素 :last-of-type 選擇滿足是其父元素的最后一個(gè)某類型子元素的元素 :only-of-type 選擇滿足是其父元素的唯一一個(gè)某類型子元素的元素 :nth-of-type(n) 選擇滿足是其父元素的第n個(gè)某類型子元素的元素 :nth-last-of-type(n) 選擇滿足是其父元素的倒數(shù)第n個(gè)某類型的元素 :only-child 選擇滿足是其父元素的唯一一個(gè)子元素的元素 :last-child 選擇滿足是其父元素的最后一個(gè)元素的元素 :nth-child(n) 選擇滿足是其父元素的第n個(gè)子元素的元素 :nth-last-child(n) 選擇滿足是其父元素的倒數(shù)第n個(gè)子元素的元素 :empty 選擇滿足沒有子元素的元素 :in-range 選擇滿足值在指定范圍內(nèi)的元素 :out-of-range 選擇值不在指定范圍內(nèi)的元素 :invalid 選擇滿足值為無效值的元素 :valid 選擇滿足值為有效值的元素 :not(selector) 選擇不滿足selector的元素 :optional 選擇為可選項(xiàng)的表單元素,即沒有“required”屬性 :read-only 選擇有"readonly"的表單元素 :read-write 選擇沒有"readonly"的表單元素 :root 選擇根元素 常用偽元素 ::first-letter 選擇指定元素的第一個(gè)單詞 ::first-line 選擇指定元素的第一行 ::after 在指定元素的內(nèi)容前面插入內(nèi)容 ::before 在指定元素的內(nèi)容后面插入內(nèi)容 ::selection 選擇指定元素中被用戶選中的內(nèi)容 到此,相信大家對(duì)“css3的偽類和偽元素的區(qū)別有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前文章:css3的偽類和偽元素的區(qū)別有哪些
標(biāo)題鏈接:http://weahome.cn/article/pidegs.html