CSS选择器中逗号的含义是什么?

时间:2011-10-11 16:24:32

标签: css css-selectors

我有什么意思

#A .B,
#A .C { some styles }

这是否意味着B类没有样式定义?

4 个答案:

答案 0 :(得分:4)

这意味着#A .B#A .C共享相同的声明块。

逗号表示将该块中的声明应用于这两个选择器,而逗号后的换行并不意味着什么特别之处;它只是用于提高样式表可读性的纯空格。

答案 1 :(得分:2)

这叫做selector grouping。这是一个捷径:

A .B {some definitions}
A .C {some definitions}

答案 2 :(得分:2)

#A .B, #A .C {some definitions}

让我们分别剖析每个选择器:

首先,逗号用于分隔多个选择器;而不是为每个选择器编写相同的样式规则(例如:一次用于 #A .B ,再次用于 #A .C ),您可以将选择器合并在一起。这意味着将在 #A .B #A .C 规则上强制执行样式定义。

如果您也想知道,我们还要解析 #A .B 选择器:

各个选择器之间的间距(在这种情况下,在 #A .B 之间)表示后代关系,其中 #A 是祖先和 .B 是后代。 符号用于表示元素ID,其中符号用于重复元素的类。这意味着上面的选择器定义用于查找具有类 B 的所有元素,该类是具有ID A 的元素的后代(不一定是直接)。

从更大的角度来看,由于逗号用于将两个选择器集合在一起,因此完整的选择器定义将是:包含类 B C 的所有元素这也是ID A 的元素的后代。

注意:如果ID A 的元素还包含 B C 类,则不会对其强制执行样式定义,因为它必须包含两个元素之间的后代关系(为此,您需要选择器定义 #AB #AC )。

希望这有帮助。

答案 3 :(得分:1)

这意味着相同的定义适用于 - 匹配B类和C类的DOM元素。