伪第一行是否需要双冒号语法?

问题描述 投票:0回答:2

我发现使用带有冒号第一行的单个冒号效果很好。为什么此标记使用双冒号,并且确实需要使用吗?

从WC3学校:

p::first-line 
{
color:#ff0000;
font-variant:small-caps;
}

但是这很好用:

p:first-line 
{
color:#ff0000;
font-variant:small-caps;
}

http://www.w3schools.com/css/css_pseudo_elements.asp

html css pseudo-element
2个回答
3
投票

作为MDN状态:

在CSS 2中,伪元素以一个冒号作为前缀。由于伪类也遵循相同的约定,因此它们是难以区分。为了解决这个问题,CSS 2.1更改了约定伪元素。现在,伪元素以两个冒号作为前缀字符,并且伪类仍以单个冒号作为前缀。

由于多个浏览器已经在一个版本中实现了CSS 2版本版本,所有支持双冒号语法的浏览器也都支持旧的单冒号语法。

如果必须支持旧版浏览器,则:first-line是唯一可行的方法选择;如果不是,则首选:: first-line。

此外,W3表示:

此::符号是当前文档引入的,目的是在伪类和伪元素之间建立区分。为了与现有样式表兼容,用户代理还必须接受前面介绍的伪元素的单冒号表示法在CSS级别1和2(即:first-line,:first-letter,:before和:后)。新的伪元素不允许这种兼容性在本规范中介绍。


0
投票

MDN for ::first-line (:first-line)

CSS3引入了:: before表示法(带有两个冒号),以区分伪类和伪元素。浏览器还接受CSS2中引入的:before。

::before::after的情况几乎相同。

CSS3引入了:: before表示法(带有两个冒号),以区分伪类和伪元素。浏览器还接受CSS2中引入的:before。

您可能会问:伪类和伪元素之间有什么区别?

© www.soinside.com 2019 - 2024. All rights reserved.