有什么区别:after和:: after?

9 html css html5 css3

它说的不同之处在于:之后是CSS2,而:: after是CSS3.还有更重要的差异吗?

(我试过谷歌搜索,但冒号似乎放弃了搜索)

Zet*_*eta 17

伪元素在CSS2中用单个冒号表示,但在CSS3中已经改变,"以便在伪类和伪元素之间建立区别".出于兼容性原因,仍然允许在CSS 1和CSS2中定义的伪元素使用单个冒号.

CSS2

5.12.3:before和:after伪元素

':before'和':after'伪元素可用于在元素内容之前或之后插入生成的内容.

CSS3

7.伪元素

[...]

伪元素由两个冒号(::)后跟伪元素的名称组成.

::说明书引入了这种表示法,以便在伪类和伪元素之间建立区别.为了与现有样式表兼容,用户代理还必须接受CSS级别1和2中引入的伪元素的先前单冒号表示法(即:first-line,:first-letter,:before和:after).对于本规范中引入的新伪元素,不允许这种兼容性.


Nie*_*sol 5

::after在某些较旧的浏览器中不起作用(我认为 IE8 是唯一相关的)

一般来说,你应该使用::after,但为了兼容性而使用并没有什么坏处:after,只要你明白它是一个伪元素,而不是一个伪