LESS中的直接子选择器

Dav*_*ave 109 css css-selectors less

反正有没有在其输出中应用直接子选择器(>)?

在我的风格中,我想写下这样的东西:

.panel {
    ...
    > .control {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

并且少生成以下内容:

.panel > .control { ... }
Run Code Online (Sandbox Code Playgroud)

Dav*_*ave 140

UPDATE

实际上,原始问题中的代码工作正常.你可以坚持使用>子选择器.


找到了答案.

.panel {
    ...
    >.control {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

注意">"和"."之间缺少空格,否则无效.

  • 我不怀疑它是一个错误,如果它不适用于那里的空间,除非它具体记录. (4认同)

Ric*_*asi 78

官方方式:

.panel {
  & > .control {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

& 总是指当前的选择器.

请参见http://lesscss.org/features/#features-overview-feature-nested-rules

  • 您认为更正确的是什么?`div> p`或`div> p`?`&`组合器是在LESS中做的规范方式,而不是我的感受.你的解释是重新的.有些人把他们的CSS写成一行...... (6认同)

Sha*_*rti 13

正确的语法将遵循,而使用'&'在这里将是多余的.

.panel{
   > .control{
   }
}
Run Code Online (Sandbox Code Playgroud)

根据较少的指导原则,'&'用于参数化祖先(但这里没有这样的需要).在这个较少的例子中,&:hover是必不可少的:悬停否则会导致语法错误.但是,这里没有使用'&'的语法要求.否则所有嵌套都需要'&',因为它们实际上是指父级.