摘要:一偽類偽類包含兩種狀態(tài)偽類偽類和結(jié)構(gòu)性偽類。狀態(tài)偽類是基于元素當(dāng)前狀態(tài)進行選擇的。二偽元素偽元素是對元素中的特定內(nèi)容進行操作,而不是描述狀態(tài)。
一、偽類
偽類包含兩種:狀態(tài)偽類(UI 偽類)和結(jié)構(gòu)性偽類。
(1)狀態(tài)偽類是基于元素當(dāng)前狀態(tài)進行選擇的。在與用戶的交互過程中元素的狀態(tài)是動態(tài)變化的,因此該元素會根據(jù)其狀態(tài)呈現(xiàn)不同的樣式。當(dāng)元素處于某狀態(tài)時會呈現(xiàn)該樣式,而進入另一狀態(tài)后,該樣式也會失去。
常見的狀態(tài)偽類主要包括:
:link 應(yīng)用于未被訪問過的鏈接;
:hover 應(yīng)用于鼠標(biāo)懸停到的元素;
:active 應(yīng)用于被激活的元素;
:visited 應(yīng)用于被訪問過的鏈接,與:link互斥。
:focus 應(yīng)用于擁有鍵盤輸入焦點的元素。
:target 應(yīng)用于鏈接點擊后指向元素
前 4 個偽類的特指度相同,如果不按照這里列出的順序使用它們,瀏覽器可能不會顯示預(yù)期結(jié)果。為了好記,可以這么想:“LoVe? HA!”大寫字母就是每個偽類的頭一個字母。
input:focus {border:1px solid blue;}
會在光標(biāo)位于 input 字段中時,為該字段添加一個藍色邊框。這樣可以讓用戶明確
地知道輸入的字符會出現(xiàn)在哪里。
More InformationThis is the information you are looking for.
#more_info:target {background:#eee;}
會在用戶單擊鏈接轉(zhuǎn)向 ID 為 more_info的元素時,為該元素添加淺灰色背景。
(2)結(jié)構(gòu)性偽類是css3新增選擇器利用dom樹進行元素過濾,通過文檔結(jié)構(gòu)的互相關(guān)系來匹配元素,能夠減少class和id屬性的定義,使文檔結(jié)構(gòu)更簡潔。
常見的包括:
:first-child 選擇某個元素的第一個子元素;二、偽元素
:last-child 選擇某個元素的最后一個子元素;
:nth-child() 選擇某個元素的一個或多個特定的子元素;
:nth-last-child() 選擇某個元素的一個或多個特定的子元素,從這個元素的最后一個子元素開始算;
:nth-of-type() 選擇指定的元素;
:nth-last-of-type() 選擇指定的元素,從元素的最后一個開始計算;
:first-of-type 選擇一個上級元素下的第一個同類子元素;
:last-of-type 選擇一個上級元素的最后一個同類子元素;
:only-child 選擇的元素是它的父元素的唯一一個子元素;
:only-of-type 選擇一個元素是它的上級元素的唯一一個相同類型的子元素;
:empty 選擇的元素里面沒有任何內(nèi)容。
偽元素是對元素中的特定內(nèi)容進行操作,而不是描述狀態(tài)。它的操作層次比偽類更深一層,因此動態(tài)性比偽類低很多。實際上,偽元素就是選取某些元素前面或后面這種普通選擇器無法完成的工作。控制的內(nèi)容和元素是相同的,但它本身是基于元素的抽象,并不存在于文檔結(jié)構(gòu)中!
常見的偽元素選擇器包括:
:first-letter 選擇元素文本的第一個字(母)。三、注意
:first-line 選擇元素文本的第一行。
:before 在元素內(nèi)容的最前面添加新內(nèi)容。
:after 在元素內(nèi)容的最后面添加新內(nèi)容。
單冒號(:)用于 CSS3 偽類,雙冒號(::)用于 CSS3 偽元素,為了兼容某些瀏覽器,一般都采用單冒號
兼容性的問題,交給postcss去做。本文并未涉及兼容性的寫法,包括前綴問題,可以交給autoprefixer去做。(這句話啥意思沒懂,以后看看說的啥)
偽類(結(jié)構(gòu)偽類)的效果可以通過添加一個實際的類來達到,而偽元素的效果則需要通過添加一個實際的元素才能達到,這也是為什么他們一個稱為偽類,一個稱為偽元素的原因。
四、偽元素的使用 (1) 清除浮動.clear:after { content: ""; display: block; clear: both; }(2) 畫分割線
分割線
五、參考文獻
https://segmentfault.com/a/1190000000484493 詳解 CSS 屬性 - 偽類和偽元素的區(qū)別
https://segmentfault.com/a/1190000012156828 談?wù)刢ss偽類與偽元素
《css設(shè)計指南》
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/117285.html
摘要:介紹偽類和偽元素是中很常見的兩個概念,利用的好,能夠很方便的實現(xiàn)一些特殊效果。偽類與偽元素由于用法相近,導(dǎo)致平時使用并不能很好的區(qū)分這兩個概念。偽類偽類類似于,用于對已有元素增加特殊狀態(tài),比如等。偽元素偽元素包括。 介紹 偽類和偽元素是css中很常見的兩個概念,利用的好,能夠很方便的實現(xiàn)一些特殊效果。偽類與偽元素由于用法相近,導(dǎo)致平時使用并不能很好的區(qū)分這兩個概念。偽類(pseudo-...
摘要:總結(jié)常用偽類與偽元素偽類和偽元素是為了格式化樹以外的信息而被引入的。偽類一個偽類是以一個冒號作為前綴,被添加到一個選擇器末尾的關(guān)鍵字,可以讓指定的元素在特定的狀態(tài)呈現(xiàn)指定的樣式。 總結(jié)常用偽類與偽元素 偽類和偽元素是為了格式化 DOM 樹以外的信息而被引入的。 偽類 一個 CSS 偽類是以一個冒號(:)作為前綴,被添加到一個選擇器末尾的關(guān)鍵字,可以讓指定的元素在特定的狀態(tài)呈現(xiàn)指定的樣式...
摘要:狀態(tài)偽類是基于元素當(dāng)前狀態(tài)進行選擇的。在與用戶的交互過程中元素的狀態(tài)是動態(tài)變化的,因此該元素會根據(jù)其狀態(tài)呈現(xiàn)不同的樣式。單冒號用于偽類,雙冒號用于偽元素??梢酝ㄟ^對父元素添加偽類撐開父元素高度,因為就是其最后一個子元素。 css選擇器常見包括id(#id)、標(biāo)簽(tag)、class(.class)、屬性[attr=attrval]等,還包括偽元素和偽類選擇器。正確的利用偽元素和偽類能...
摘要:狀態(tài)偽類是基于元素當(dāng)前狀態(tài)進行選擇的。在與用戶的交互過程中元素的狀態(tài)是動態(tài)變化的,因此該元素會根據(jù)其狀態(tài)呈現(xiàn)不同的樣式。單冒號用于偽類,雙冒號用于偽元素??梢酝ㄟ^對父元素添加偽類撐開父元素高度,因為就是其最后一個子元素。 css選擇器常見包括id(#id)、標(biāo)簽(tag)、class(.class)、屬性[attr=attrval]等,還包括偽元素和偽類選擇器。正確的利用偽元素和偽類能...
閱讀 926·2021-11-22 13:54
閱讀 2853·2021-09-28 09:36
閱讀 2991·2019-08-30 15:55
閱讀 1960·2019-08-30 15:44
閱讀 554·2019-08-29 12:31
閱讀 2570·2019-08-28 18:18
閱讀 1208·2019-08-26 13:58
閱讀 1394·2019-08-26 13:44