没有任何选择器的Css伪类,可以吗?

时间:2015-01-12 09:37:01

标签: css google-chrome css-selectors

选择器

.some-class :first-child

选择.some-class内的第一个子节点在所有浏览器中都能正常工作,即使在IE8中也是如此。

但移动Chrome的“减少数据选项”'删除.some-class:first-child之间的空格,并通过将样式应用于.some-class元素本身来中断CSS。在其他情况下,例如.class1 .class2 Chrome会保持空间不变。可能它认为.some-class:first-child之间的空间是一个非语义空间,因为它认为如果没有某种选择器就不能成为伪类。

但是我已经检查了标准,它并没有说伪类必须有一个选择器。同时,具有伪类的所有示例都包含元素选择器,如

p:first-child

所以我很困惑。这个CSS选择器是不正确的还是Chrome中的错误'减少数据使用量?'

2 个答案:

答案 0 :(得分:3)

:first-child作为独立选择器有效,这似乎是移动版Chrome中的一个错误。我们可以使用W3C's CSS Validator确认这一点。

  
:first-child { background: #F00; }
     

恭喜!没有发现错误。

事实上,Selectors Level 3 specification选择器部分中列出的所有内容都作为独立选择器有效。我想象:first-child的示例还包括一个元素选择器的原因是为了避免混淆并展示如何在该特定元素上使用它。

答案 1 :(得分:1)

我猜它是一个错误。 你应该可以解决它 .some-class *:first-child