1) CSS偽元素與偽類區(qū)別:
css引入偽類和偽元素概念是為了格式化文檔樹以外的信息。也就是說娘纷,偽類和偽元素是用來修飾不在文檔樹中的部分。
偽類用于當(dāng)已有元素處于的某個狀態(tài)時,為其添加對應(yīng)的樣式购笆,這個狀態(tài)是根據(jù)用戶行為而動態(tài)變化的。
它只有處于dom樹無法描述的狀態(tài)下才能為元素添加樣式虚循,所以將其稱為偽類同欠。
偽元素用于創(chuàng)建一些不在文檔樹中的元素,并為其添加樣式横缔。比如說铺遂,我們可以通過:before來在一個元素前增加一些文本,并為這些文本添加樣式茎刚。雖然用戶可以看到這些文本襟锐,但是這些文本實際上不在文檔樹中。
2) 偽元素&偽類的特點:
偽元素和偽類都不會出現(xiàn)在源文檔或者文檔樹中
偽類允許出現(xiàn)在選擇器的任何位置膛锭,而一個偽元素只能跟在選擇器的最后一個簡單選擇器后面
偽元素名和偽類名都是大小寫不敏感的
有些偽類是互斥的粮坞,而其它的可以同時用在一個元素上。(在規(guī)則沖突的情況下泉沾,常規(guī)層疊順序決定結(jié)果)
3) :before/:after/:first-letter/:first-line :前面可以是1個冒號也可以是雙冒號
::selection/::placeholder/::backdrop :前面只能是雙冒號
(更詳細(xì):http://www.reibang.com/p/8b610fdf0d48
)