答案 0 :(得分:43)
根据这些文档,它们是等价的:
element:before { style properties } /* CSS2 syntax */
element::before { style properties } /* CSS3 syntax */
唯一的区别是双重冒号用于CSS3,而单冒号是遗留版本。
<强>推理:强>
在CSS 3中引入:: before表示法以便建立一个 伪类和伪元素之间的区别。浏览器 也接受表示法:在CSS 2中引入之前。
答案 1 :(得分:16)
这将伪元素与伪类区分开来。
伪类和伪元素之间的区别在http://www.d.umn.edu/~lcarlson/csswork/selectors/pseudo_dif.html
中描述答案 2 :(得分:8)
他们的意思基本相同。 CSS3中引入了::
来帮助理解伪元素(如:before和:after)和伪类(如:link和:hover)。
答案 3 :(得分:3)
我查看了MDN和w3.org,我能想到的最好的是::
用于结构更改,{{1用于样式。
出于兼容性原因,它们目前可以互换。
它似乎将:
(例如)与:link
的{{1}}区分开来(这是结构更改)。
<a>
用于样式,:before
用于结构。
答案 4 :(得分:2)
一种是CSS2(:之前)方式,另一种是CSS3(::之前)。目前,它们可以在支持CSS2和Linux的浏览器中互换。 CSS3。