偽類選擇元素基於的是當前元素處於的狀態,或者說元素當前所具有的特性,而不是元素的id、class、屬性等靜態的標誌。由於狀態是動態變化的,所以乙個元素達到乙個特定狀態時,它可能得到乙個偽類的樣式;當狀態改變時,它又會失去這個樣式。由此可以看出,它的功能和class有些類似,但它是基於文件之外的抽象,所以叫偽類。
偽類選擇器:css中已經定義好的選擇器,不能隨便取名
:link
偽類將應用於未被訪問過的鏈結,與:visited互斥。
:hover
偽類將應用於有滑鼠指標懸停於其上的元素。
:active
偽類將應用於被啟用的元素,如被點選的鏈結、被按下的按鈕等。
:visited
偽類將應用於已經被訪問過的鏈結,與:link互斥。
:focus
偽類將應用於擁有鍵盤輸入焦點的元素。
:first-child
偽類將應用於元素在頁面中第一次出現的時候。
:lang
偽類將應用於元素帶有指定lang的情況。
:root()選擇器
匹配元素e所在文件的根元素。在html文件中,根元素始終是。「:root」選擇器等同於元素
:not()選擇器
稱為否定選擇器,和jquery中的:not選擇器一模一樣,可以選擇除某個元素之外的所有元素。
:empty()選擇器
表示的就是空。用來選擇沒有任何內容的元素,這裡沒有內容指的是一點內容都沒有,哪怕是乙個空格。
:target()選擇器
對頁面某個target元素(該元素的id被當做頁面中的超連結來使用)指定樣式,該樣式只在使用者點選了頁面中的超連結,並且跳轉到target元素後起作用
:nth-child()
選擇某個元素的乙個或多個特定的子元素。
:nth-last-child()
從某父元素的最後乙個子元素開始計算,來選擇特定的元素。
與偽類針對特殊狀態的元素不同的是,偽元素是對元素中的特定內容進行操作,它所操作的層次比偽類更深了一層,也因此它的動態性比偽類要低得多。實際上,設計偽元素的目的就是去選取諸如元素內容第乙個字(母)、第一行,選取某些內容前面或後面這種普通的選擇器無法完成的工作。它控制的內容實際上和元素是相同的,但是它本身只是基於元素的抽象,並不存在於文件中,所以叫偽元素。
偽元素選擇器:並不是針對真正的元素使用的選擇器,而是針對css中已經定義好的偽元素使用的選擇器。
css中的偽元素大家以前看過::first-line,:first-letter,:before,:after;
那麼在css3中,他對偽元素進行了一定的調整,在以前的基礎上增加了乙個「:」也就是現在變成了「::first-letter,::first-line,::before,::after」另外他還增加了乙個「::selection」,兩個「::」和乙個「:」css3
中主要用來區分偽類和偽元素,到目前來說,這兩種方式都是被接受的,也就是說不管使用哪種寫法所起的作用都是一樣的,只是乙個書寫格式不同而以。
:first-letter
偽元素的樣式將應用於元素文字的第乙個字(母)。
:first-line
偽元素的樣式將應用於元素文字的第一行。
:before
在元素內容的最前面新增新內容。
:after
在元素內容的最後面新增新內容。
::first-line
選擇元素的第一行,比如說改變每個段落的第一行文字的樣式,我們就可以使用這個
::before和::after
這兩個主要用來給元素的前面或後面插入內容,這兩個常用"content"配合使用,見過最多的就是清除浮動
::selection
用來改變瀏覽網頁選中文的預設效果
偽類與偽元素
偽類 用於向某些選擇器新增特殊的效果,當已用元素處於某種狀態時,為其新增對應的樣式 偽元素 用於將特殊的效果新增到某些選擇器,用於建立一些不存在文件樹中的元素,為其新增樣式 區別 使用偽元素清除浮動 class container clearfix class wrap aaadiv div cle...
偽類與偽元素?
偽類與偽元素?偽類指偽類名稱前為冒號 偽元素指偽元素名稱前為雙冒號 偽類本質上是為了彌補常規css選擇器的不足,以便獲取到更多資訊。通常表示獲取不存在與dom樹中的資訊,或獲取不能被常規css選擇器獲取的資訊。如 hover focus empty 本質上是建立了乙個有內容的虛擬容器。這個容器不包含...
偽類與偽元素
總結一下偽類與偽元素的特性及其區別 偽類本質上是為了彌補常規css選擇器的不足,以便獲取到更多資訊 偽元素本質上是建立了乙個有內容的虛擬容器 css3中偽類和偽元素的語法不同 偽類 link hover 偽元素 before after 可以同時使用多個偽類,而只能同時使用乙個偽元素 其中偽類和偽元...