1

是的,我们都知道选择器之间的逗号是什么意思。

这是不同的。我以为我很了解 CSS,但今天我遇到了以前从未见过的东西——声明块之间的逗号。我一直在使用clean-css,它生成了这个缩小的、干净的输出(为了便于阅读,我重新插入了一些空格):

body .container
{
    color:#EEE
}
,
.navbar-default .navbar-nav>.active>a:hover,
h1
{
    color:#000
}

请注意body .container. 这是有效的 CSS 吗?如果是这样,那是什么意思?

我为 clean-css 输入的 CSS 如下:

body .container {
  color: #EEEEEE;
}

h1{
  color: #000;
}

.navbar-default .navbar-nav > .active > a:hover, {
    color: black;
}
4

1 回答 1

6

不,它不是有效的 CSS。该位置的逗号意味着它前面有一个空选择器。但是一个空的选择器根本就不是一个选择器;选择器必须至少包含一个简单的选择器或一个伪元素(带有隐含的*)。从规格

不包含简单选择器序列和伪元素的空选择器是无效选择器。

这可能是 clean-css 中的错误的结果。或者,输入的 CSS 一开始就无效,这只是 clean-css 尝试处理它的结果。

于 2016-04-04T16:58:38.447 回答