Skip to content
登录后刷题更便捷

::before 和:after 中双冒号和单冒号有什么区别?解释一下这 2 个伪元素的作用。

难度:
相关知识点:

单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素。(伪元素由双冒号和伪元素名称组成)双冒号是在当前规范中引入的,用于区分伪类和伪元素。不过浏览器需要同时支持旧的已经存在的伪元素写法,比如 :first-line:first-letter:before:after 等,而新的在 CSS3 中引入的伪元素则不允许再支持旧的单冒号的写法。

想让插入的内容出现在其它内容前,使用 ::before,否者,使用 ::after;在代码顺序上,::after 生成的内容也比 ::before 生成的内容靠后。如果按堆栈视角,::after 生成的内容会在 ::before 生成的内容之上。

回答:

在 css3 中使用单冒号来表示伪类,用双冒号来表示伪元素。但是为了兼容已有的伪元素的写法,在一些浏览器中也可以使用单冒号来表示伪元素。

伪类一般匹配的是元素的一些特殊状态,如 hoverlink 等,而伪元素一般匹配的特殊的位置,比如 afterbefore 等。

内容仅供参考,难免有不恰当的地方,如果有问题欢迎及时反馈
部分内容来自网络,如果不慎侵犯您的权益,请联系我们,以便及时删除侵权内容