我发现使用带有冒号第一行的单个冒号效果很好。为什么此标记使用双冒号,并且确实需要使用吗?
从WC3学校:
p::first-line
{
color:#ff0000;
font-variant:small-caps;
}
但是这很好用:
p:first-line
{
color:#ff0000;
font-variant:small-caps;
}
作为MDN状态:
在CSS 2中,伪元素以一个冒号作为前缀。由于伪类也遵循相同的约定,因此它们是难以区分。为了解决这个问题,CSS 2.1更改了约定伪元素。现在,伪元素以两个冒号作为前缀字符,并且伪类仍以单个冒号作为前缀。
由于多个浏览器已经在一个版本中实现了CSS 2版本版本,所有支持双冒号语法的浏览器也都支持旧的单冒号语法。
如果必须支持旧版浏览器,则:first-line是唯一可行的方法选择;如果不是,则首选:: first-line。
此外,W3表示:
此::符号是当前文档引入的,目的是在伪类和伪元素之间建立区分。为了与现有样式表兼容,用户代理还必须接受前面介绍的伪元素的单冒号表示法在CSS级别1和2(即:first-line,:first-letter,:before和:后)。新的伪元素不允许这种兼容性在本规范中介绍。
MDN for ::first-line (:first-line)
CSS3引入了:: before表示法(带有两个冒号),以区分伪类和伪元素。浏览器还接受CSS2中引入的:before。
::before
和::after
的情况几乎相同。
CSS3引入了:: before表示法(带有两个冒号),以区分伪类和伪元素。浏览器还接受CSS2中引入的:before。
您可能会问:伪类和伪元素之间有什么区别?