为什么空格用于分隔css中的东西

时间:2011-07-12 20:03:39

标签: css css-selectors

这是wordpress样式表中的一些我不明白的东西:

blockquote cite,
blockquote em,
blockquote i {
font-style: normal;
}

blockquote和cite之间的空间是什么?我知道如果用逗号分隔它们,那么blockquote和cite都会有“font-style:normal;”现在它们被空格分隔,这是否意味着如果将一个blockquote标签嵌入到一个引用标签中,它将变为“font-style:normal;”?

谢谢。

3 个答案:

答案 0 :(得分:16)

这个空间被称为descendant combinatorblockquote cite选择cite元素中的任何blockquote元素。同样适用于blockquote emblockquote i

换句话说,它不是“如果将一个blockquote标记嵌入到引用标记中”,那就是另一种方式(此外,你不能将blockquote放在cite中第一名)。

如您所知,逗号组选择器序列为相同的规则。

答案 1 :(得分:1)

这意味着定位cite等内的blockquote标记。

在这种情况下,网站会尝试覆盖blockquote内设置的所有斜体。

答案 2 :(得分:1)

选择器之间的空格将使样式表有选择地应用规则。空格是后代选择器或组合子。它适用于下行程序中的任何后代元素。

blockquote cite { font-style: normal; }规则只会将字体样式应用于item 1 item bitem 1item b都是item A的后代。 item A无法获得规则。

 A. item A (Blockquote)
   1. item 1 (Cite)
     a. item a
     b. item b (Cite)
   2. item 2

这与>选择器略有相似。那是子选择器。它适用于元素的任何子元素。孩子是一级后裔。在上表中使用规则blockquote > cite { font-style: normal; }item b将不会应用字体样式规则,因为它是二级后代,因此不是子级。 item A也不会得到规则。

如果您希望blockquote中的cite和任何blockquote获得规则,则必须同时列出这些规则:

blockquote, blockquote cite { font-style: normal; }