在 CSS 中,::before
和 :before
,::after
和 :after
是伪元素,它们被用来向选择的元素添加一些内容。
其中,::before
和 ::after
是在 CSS3 才出现的,并且是推荐的用法。双冒号 ::
是用来区分伪元素和伪类的。伪元素用于向元素的特定部分添加样式。例如,::first-line
、::first-letter
、::before
、::after
等。
单冒号 :
是 CSS1 和 CSS2 中的写法,在 CSS3 中仍然维持了对它的支持,主要是为了维持向后兼容。单冒号 :
用来表示伪类,例如 :hover
、:active
、:focus
等。
举例来说的话,如果你写的样式需要兼容一些较为老旧的浏览器,那么可能需要使用 :before
和 :after
。在现代浏览器中,推荐使用 ::before
和 ::after
。
总结如下:
- 双冒号
::
用于 CSS3 的伪元素。 - 单冒号
:
用于 CSS2 的伪元素以及所有的伪类,同时保持向后的兼容。
目前很多浏览器都已经支持了双冒号,但如果你在开发时需要兼容老版本的浏览器,那么还是建议使用单冒号。