淺談CSS偽類與偽元素

偽類
偽類選擇元素基于的是當(dāng)前元素處于的狀態(tài),或者說元素當(dāng)前所具有的特性,而不是元素的id、class、屬性等靜態(tài)的標(biāo)志。由于狀態(tài)是動態(tài)變化的,所以一個元素達到一個特定狀態(tài)時,它可能得到一個偽類的樣式;當(dāng)狀態(tài)改變時,它又會失去這個樣式。由此可以看出,它的功能和class有些類似,但它是基于文檔之外的抽象,所以叫偽類。
偽類選擇器:CSS中已經(jīng)定義好的選擇器,不能隨便取名
:link
偽類將應(yīng)用于未被訪問過的鏈接,與:visited互斥。
:hover
偽類將應(yīng)用于有鼠標(biāo)指針懸停于其上的元素。
:active
偽類將應(yīng)用于被激活的元素,如被點擊的鏈接、被按下的按鈕等。
:visited
偽類將應(yīng)用于已經(jīng)被訪問過的鏈接,與:link互斥。
:focus
偽類將應(yīng)用于擁有鍵盤輸入焦點的元素。
:first-child
偽類將應(yīng)用于元素在頁面中第一次出現(xiàn)的時候。
:lang
偽類將應(yīng)用于元素帶有指定lang的情況。
:root()選擇器
匹配元素E所在文檔的根元素。在HTML文檔中,根元素始終是<html>。“:root”選擇器等同于<html>元素
:not()選擇器
稱為否定選擇器,和jQuery中的:not選擇器一模一樣,可以選擇除某個元素之外的所有元素。
:empty()選擇器
表示的就是空。用來選擇沒有任何內(nèi)容的元素,這里沒有內(nèi)容指的是一點內(nèi)容都沒有,哪怕是一個空格。
:target()選擇器
對頁面某個target元素(該元素的id被當(dāng)做頁面中的超鏈接來使用)指定樣式,該樣式只在用戶點擊了頁面中的超鏈接,并且跳轉(zhuǎn)到target元素后起作用
:nth-child()
選擇某個元素的一個或多個特定的子元素。
:nth-last-child()
從某父元素的最后一個子元素開始計算,來選擇特定的元素。
偽元素
與偽類針對特殊狀態(tài)的元素不同的是,偽元素是對元素中的特定內(nèi)容進行操作,它所操作的層次比偽類更深了一層,也因此它的動態(tài)性比偽類要低得多。實際上,設(shè)計偽元素的目的就是去選取諸如元素內(nèi)容第一個字(母)、第一行,選取某些內(nèi)容前面或后面這種普通的選擇器無法完成的工作。它控制的內(nèi)容實際上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文檔中,所以叫偽元素。
偽元素選擇器:并不是針對真正的元素使用的選擇器,而是針對CSS中已經(jīng)定義好的偽元素使用的選擇器。
CSS中的偽元素大家以前看過::first-line,:first-letter,:before,:after;
那么在CSS3中,他對偽元素進行了一定的調(diào)整,在以前的基礎(chǔ)上增加了一個“:”也就是現(xiàn)在變成了“::first-letter,::first-line,::before,::after”另外他還增加了一個“::selection”,兩個“::”和一個“:”css3中主要用來區(qū)分偽類和偽元素,到目前來說,這兩種方式都是被接受的,也就是說不管使用哪種寫法所起的作用都是一樣的,只是一個書寫格式不同而以。
:first-letter
偽元素的樣式將應(yīng)用于元素文本的第一個字(母)。
:first-line
偽元素的樣式將應(yīng)用于元素文本的第一行。
:before
在元素內(nèi)容的最前面添加新內(nèi)容。
:after
在元素內(nèi)容的最后面添加新內(nèi)容。
::first-line
選擇元素的第一行,比如說改變每個段落的第一行文本的樣式,我們就可以使用這個
::before和::after
這兩個主要用來給元素的前面或后面插入內(nèi)容,這兩個常用"content"配合使用,見過最多的就是清除浮動
::selection
用來改變?yōu)g覽網(wǎng)頁選中文的默認效果
相關(guān)文章
詳解如何使用CSS3中的結(jié)構(gòu)偽類選擇器和偽元素選擇器
這篇文章主要介紹了詳解如何使用CSS3中的結(jié)構(gòu)偽類選擇器和偽元素選擇器,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面2020-01-06- CSS偽元素能使我們添加案定的HTML元素之外的元素,這里我們就來解析CSS中的偽元素及其與偽類的區(qū)別,需要的朋友可以參考下2016-06-27
- 這篇文章主要介紹了詳解CSS中的偽類與偽元素及二者間的區(qū)別,實際上CSS3中規(guī)范了一種簡單粗暴的方法,即偽類前用一個冒號表示,而偽元素前用兩個冒號表示,這樣就不容易混淆了,2016-04-28
- 偽類和偽元素不是真正意義上的html存在的類和元素,他們的存在是為了方便對狀態(tài)和位置進行樣式定義。具體他們之間有什么區(qū)別呢,這就是今天我們需要討論的問題了2014-11-23
- 無論是偽類還是偽元素,都屬于CSS選擇器的范疇。所以它們的定義可以在CSS標(biāo)準(zhǔn)的選擇器章節(jié)找到。分別是 CSS2.1 Selectors 和 CSS Selector Level 3,兩者都已經(jīng)是推薦標(biāo)準(zhǔn)2014-09-04
- CSS偽類及偽元素選擇器,如超鏈接的a:link、a:visited、a:hover等等,本文整理了一些,喜歡的朋友可以收藏下2013-11-27
- css偽類偽元素域高級選擇器的介紹,需要的朋友可以參考一下2013-02-26
- 關(guān)于兩者的區(qū)別,其實是很古老的問題.這里著重寫的是為什么這兩者不同,以及一些平時容易錯過的細節(jié),需要的朋友可以參考下2012-12-07
- 這篇文章主要介紹了淺談CSS 偽元素&偽類的妙用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)2020-09-01