什么是伪元素
让我们先看看W3的伪元素官方定义:
伪元素用来创建HTML文档语言指定之外文档树的抽象层。比如HTML没有提供文档元素内容的首字母或第一行的访问机制。CSS伪元素允许作者引用这些除此之外无法访问的信息。伪元素还提供一种方法来引用不存在于文档中的内容。(比如,::before 和 ::after )。
一个伪元素由2个冒号(::)加上伪元素的名字所定义。
:: 标记是CSS2.1新规范中引入的,用来区分伪类(pseudo-classes)和伪元素(pseudo-elements)。但出于现有样式表兼容性原因,用户代理必须也能支持CSS1和CSS2中引入的单冒号伪元素标记(也就是说,:first-line, :first-letter, :before 和 :after)。但是CSS2.1及以后版本新引入的伪元素不支持这种兼容语法。