何时离开空间,什么时候不在CSS?

omg*_*omg 4 css

这没关系(没有空间):

li.highlight{
    background:#FF9900 none repeat scroll 0 0;
}
Run Code Online (Sandbox Code Playgroud)

这不起作用(带空格):

li .highlight{
    background:#FF9900 none repeat scroll 0 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么?

Dav*_*mas 10

后一个选择器将不起作用,因为空间意味着选择器之间的关系(在这种情况下是后代).

li.highlight /* defines an element of 'li' with a classname of 'highlight' */

li .highlight /* defines an element of class 'highlight' that's contained within an li element */

li > .highlight /* as pointed out by Neil (in comments), this would select an element of class highlight that is an immediate child/descendant of an li */
Run Code Online (Sandbox Code Playgroud)

我应该解释一下我对"不会起作用"这句话的用法.显然,我使用了你的措辞,我错误地这样做了.

起作用,只是它会选择 - 在注释中解释 - 这是你在标记中没有的元素.

  • 我不确定你的意思是"直系后代",但是"li .highlight"选择了一个由li元素包含的类"highlight"的元素; "li> .highlight"将是仅选择直接孩子的语法.http://www.w3.org/TR/CSS2/selector.html#selector-syntax (3认同)