僞元素用于向某些選擇器設定特殊效果。已存在元素是指dom中存在的,僞元素則是虛拟的一種,樣式也是給這個虛拟的元素使用的。
比如僞元素 :before和:after,用于在css渲染中向元素的頭部或尾部插入内容,它們不受文檔限制,也不影響文檔本身,隻影響最終樣式。
這些添加的内容不會出現在dom中,僅僅是在css渲染層中加入。
它不存在于文檔中,是以js無法直接操作它。而jquery的選擇器都是基于dom元素的,是以也并不能直接操作僞元素。
:first-letter:向文本的第一個字母添加特殊樣式。
:first-line: 向文本的首行添加特殊樣式。
:before:在元素之前添加内容。
:after:在元素之後添加内容。
::placeholder:比對占位符的文本,隻有元素設定了placeholder屬性時,該僞元素才能生效。(隻支援雙冒号的形式)。
::selection:css僞元素應用于文檔中被使用者高亮的部分(比如使用滑鼠或其他選擇裝置選中的部分)。(隻支援雙冒号的形式)。
::backdrop(處于試驗階段):用于改變全屏模式下的背景顔色,全屏模式的預設顔色為黑色。(隻支援雙冒号的形式)。
更換class來實作僞元素屬性值得更改:
2.使用cssstylesheet的insertrule來為僞元素修改樣式:
addrule說明:
3.在标簽中插入
修改僞元素的content的屬性值,使用cssstylesheet的insertrule來為僞元素修改樣式
注意:
僞元素的 content 屬性很強大,可以寫入各種字元串和部分多媒體檔案。但是僞元素的内容隻存在于css渲染樹中,并不存在于真實的dom中。是以為了seo優化,最好不要在僞元素中包含與文檔相關的内容。
修改僞元素的樣式,建議使用通過更換class來修改樣式的方法。因為其他兩種通過插入行内cssstylesheet的方式是在javascript中插入字元代碼,不利于樣式與控制分離;而且字元串拼接容易出錯。
修改僞元素的content屬性的值,建議使用利用dom的 data-* 屬性來更改。