它说的不同之处在于:之后是CSS2,而:: after是CSS3。还有更重要的差异吗?
(我试过谷歌搜索,但冒号似乎放弃了搜索)
答案 0 :(得分:16)
伪元素在CSS2中用单个冒号表示,但在CSS3 中已经改变,以便在伪类和伪元素之间建立区别“。出于兼容性原因,仍然允许在CSS 1和CSS2中定义的伪元素使用单个冒号。
5.12.3:before和:after伪元素
'before'和':after'伪元素可用于在元素内容之前或之后插入生成的内容。
7。伪元素
[...]
伪元素由两个冒号(
::
)组成,后跟伪元素的名称。当前文档引入了此
::
符号,以便在伪类和伪元素之间建立区别。 为了与现有样式表兼容,用户代理还必须接受CSS级别1和2中引入的伪元素的先前单冒号表示法(即:first-line,:first-letter,:before and:after )。本规范中引入的新伪元素不允许这种兼容性。
答案 1 :(得分:4)
::after
在某些旧浏览器中不起作用(我认为IE8是唯一相关的浏览器)
一般情况下,应该使用::after
,但使用:after
兼容性没有任何害处,只要您了解它是伪造的元素即可,而非psuedo- 类
答案 2 :(得分:0)
相反:: ::在IE8上的WORKS之后,while:之后不会这样做。