In CSS .a > .b
是相同的.a>.b
,但这两个符号中哪一个更正确呢?我看到在 Chrome 开发者工具中使用了第二个变体
两者都不是“更正确”;两者同样有效。唯一的一点就是spec http://www.w3.org/TR/selectors/#selector-syntax说的是组合器周围的空白是可选的(强调我的):
组合器是:空格、“大于号”(U+003E、>
)、“加号”(U+002B,+
)和“波形符”(U+007E,~
). 组合器与其周围的简单选择器之间可能会出现空白。仅字符“空格”(U+0020)、“制表符”(U+0009)、“换行符”(U+000A)、“回车符”(U+000D) 和“换页符”(U+000C) ) 可以出现在空白中。其他类似空格的字符,例如“em-space”(U+2003) 和“表意空格”(U+3000),永远不是空白的一部分。
请注意,后代组合器本身由空格字符表示;如果两个复合选择器周围唯一的字符是空白字符,那么它们将被视为后代组合器。在您的示例中,子组合器>
可以由空白包围,也可以不包围;没有区别。
巧合的是,您可以在规范本身中看到空格和无空格语法的示例也在描述子组合器的部分中> http://www.w3.org/TR/selectors/#child-combinators。请注意,我再次强调,规范甚至明确提到了省略空格的地方,以证明它实际上是完全可选的:
例子:
下面的选择器代表一个p
的子元素body
:
body > p
以下示例组合了后代组合器和子组合器。
div ol>li p
它代表了一个p
元素是一个的后代li
元素;这li
元素必须是某个元素的子元素ol
元素;这ol
元素必须是 a 的后代div
. 请注意,“>”组合符周围的可选空白已被省略。
正如其他人提到的,当writingCSS,出于可读性目的,空格是很好的;如果文件大小是一个问题,请考虑在后期制作期间缩小和/或压缩样式表(缩小通常会为您去除不重要的空白,其中可能包括组合器周围的空白)。在编写 CSS 时选择不使用空格的唯一原因是编码风格问题,即使不受欢迎,这在技术上仍然有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)