一、css偽類(pseudo-class)是用來新增一些選擇器的特殊效果。
由於狀態的變化是非靜態的,所以元素達到乙個特定狀態時,它可能得到乙個偽類的樣式;當狀態改變時,它又會失去這個樣式。由此可以看出,它的功能和class有些類似,但它是基於文件之外的抽象,所以叫偽類。
偽類的語法:
selector:pseudo-class
css類也可以使用偽類:
selector.class:pseudo-class,eg:
a.red:visited
css syntax
偽類包括:
1.anchor(錨鏈結)四元組
選擇器示例事例說明
:link
a:link
讓它表現地像個鏈結一樣
:visited
a:visited
訪問過之後什麼效果(只能修改特定的樣式)
:hover
a:hover
把滑鼠移動上去有什麼效果
:active
a:active
啟用之後是什麼效果
注意:在css定義中,a:hover必須被置於a:link和a:visited之後,才是有效的;
a:active必須被置於a:hover之後,才是有效的;
偽類的名稱不區分大小寫。
2.其他常用的
選擇器示例事例說明
:focus
input:focus
向擁有鍵盤輸入焦點的元素新增樣式(當focus之後顯示效果)
:first-child
p:first-child
向元素的第乙個子元素新增樣式
:lang
p:lang
向帶有指定lang屬性的元素新增樣式
:nth-of-type(x)
常用來對**顯示奇數行和偶數行不同色塊;注意是x-1行對應的效果
:empty
如果選擇元素沒有子節點,表現什麼樣式,常用來做首屏渲染
:read-only
元素唯讀
:only-of-type
頁面中只有這乙個型別的元素會顯示的效果
:invalid
校驗之後顯示的效果
二、偽元素( pseudo-elements)是用來新增一些選擇器的特殊效果。
與偽類針對特殊狀態的元素不同的是,偽元素是對元素中的特定內容進行操作,它所操作的層次比偽類更深了一層,也因此它的動態性比偽類要低得多。實際上,設計偽元素的目的就是去選取諸如元素內容第乙個字(母)、第一行,選取某些內容前面或後面這種普通的選擇器無法完成的工作。它控制的內容實際上和元素是相同的,但是它本身只是基於元素的抽象,並不存在於文件中,所以叫偽元素。
偽元素的語法:
selector:pseudo-element
css類也可以使用偽元素:
selector.class:pseudo-element
p.article:first-letter
a paragraph in an article
偽元素包括:
css2所有偽元素
選擇器示例事例說明
:first-line
p:first-line
選擇每個元素的第一行;只能用於塊級元素
:first-letter
p:first-letter
選擇每個元素的第乙個字母;只能用於塊級元素
:before
p:before
在每個元素之前插入內容;
:after
p:after
在每個元素之後插入內容;
注意:css2偽類和偽元素都是用單冒號,所有的瀏覽器都相容,但是css3偽類為單冒號,偽元素為雙冒號;但是雙冒號ie8以下不相容!所以,c如果你的**只需要相容webkit、firefox、opera等瀏覽器,建議對於偽元素採用雙冒號的寫法,如果不得不相容ie瀏覽器,還是用css2的單冒號寫法比較安全。
css中偽類和偽元素
偽類和偽元素時對那些我們不能通過class id等選擇元素的補充 偽類的操作物件是文件樹中已有的元素 可以給已有元素加了乙個類替代 而偽元素則建立了乙個文件數外的元素 可以新增乙個新元素替代 css3規範中要求使用雙冒號 表示偽元素,以此來區分偽元素和偽類。偽類 this is a text em ...
CSS中的偽類和偽元素
2019獨角獸企業重金招聘python工程師標準 偽類與類相似,但又沒有類附加標籤上。偽類分為ui偽類和結構化偽類。偽元素是在文件中若有實無的元素。主要有以下幾種 看到 after,大家腦子裡應該都能浮現出那個清除浮動的css的吧。沒錯,就是這個。clearfix after仔細琢磨下它們的定義。偽...
css中的偽類和偽元素
2019獨角獸企業重金招聘python工程師標準 偽類與類相似,但又沒有類附加標籤上。偽類分為ui偽類和結構化偽類。偽元素是在文件中若有實無的元素。主要有以下幾種 看到 after,大家腦子裡應該都能浮現出那個清除浮動的css的吧。沒錯,就是這個。1 2 3 4 5 6 7 clearfix aft...