This :: notation is introduced by the current document in order to establish a discrimination between pseudo-classes and pseudo-elements.
为了与现有样式表兼容,用户代理还必须接受 CSS 级别1和2中引入的伪元素的前一个冒号表示法(即: 第一行、 : 第一个字母、 : 之前和: 之后)。
本规范中引入的 新的伪元素不允许兼容性。
对于已经存在于 CSS2.1中的伪元素(因为 UA 必须向后兼容) ,似乎只使用一个冒号符号是安全的。
However, it's become increasingly popular to use 填充物 for both new javascript and CSS, so you might just want to stick with using the newer double-colon (::) syntax, and maintain a polyfill for older browsers, so long as that is necessary.