css3为了区分伪类和伪元素,伪元素采用双冒号写法。
常见伪类——:hover,:link,:active,:target,:not(),:focus。
常见伪元素——::first-letter,::first-line,::before,::after,::selection。
::before和::after下特有的content,用于在css渲染中向元素逻辑上的头部或尾部添加内容。
这些添加不会出现在DOM中,不会改变文档内容,不可复制,仅仅是在css渲染层加入。
所以不要用:before或:after展示有实际意义的内容,尽量使用它们显示修饰性内容,例如图标。
举例:网站有些联系电话,希望在它们前加一个icon☎,就可以使用:before伪元素,如下:
<!DOCTYPE html> <meta charset="utf-8" /> <style type="text/css"> .phoneNumber::before { content:'\260E'; font-size: 15px; } </style> <p class="phoneNumber">12345645654</p>
这些特殊字符的html,js和css的写法是不同的
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125748808-47788622.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125803466-1641124497.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125812262-11650678.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125817978-1745285578.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125826087-962214625.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125832740-2014780600.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125838873-1295444755.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125847781-191074989.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125853280-78350838.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125904060-519735032.jpg)
![](https://images2018.cnblogs.com/blog/1194576/201807/1194576-20180717125915373-240593613.jpg)