之前總以為這兩個東西是一樣的,其實他們的作用大不相同哦。他們的作用是:可以為文檔中不一定存在的結構制定樣式,他們不是通過文檔結構向頁面中添加樣式。
一、偽類選擇器
是用來選擇某個類,或者說,選擇的是某個類的狀態。
1、鏈接偽類
【:link】:
【:visited】
2、動態偽類
【:focus】
【:hover】
【:active】
3、靜態偽類
【:first-child】:選擇元素的第一個子元素。
【*:lang(語言類名)】:將文檔中的某個語言全部改為某個樣式。
4、偽類的結合使用
【a:link:hover】
注意不要將互斥的偽類結合在一起使用,用戶代理會忽略這種選擇器。
二、偽元素選擇器
是用來在文檔中插入假象的元素。CSS2.1的寫法。
1、首字母和首行
【:first-letter】:
【:first-line】:
2、之前和之后
【:before】:
【:after】:
三、偽元素的常見用法
問:經常見到::after和:after,為什么會出現單冒號和雙冒號?
答:單冒號用於CSS3偽類,雙冒號英語css3偽元素。在CSS3中引入偽元素不再允許使用單冒號的寫法,因此以后在某元素前后插入內容,要用雙引號。
清除浮動的主流寫法,就是利用偽類的概念
.clearf::after, .clearf::before{ content:" "; display:block; clear:both; }