在 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 的伪元素以及所有的伪类,同时保持向后的兼容。
目前很多浏览器都已经支持了双冒号,但如果你在开发时需要兼容老版本的浏览器,那么还是建议使用单冒号。