这是我第一次找到&父选择器非常有用,所以我不需要重新定义父母只是修改子元素。
当然这对于LESS来说实际上很容易,但我不得不问!
<div id="skrollr-body" class="nonav">
<div class="skrollable">
</div>
</div>
#skroller-body {
.skrollable {
margin-top:40px;
.nonav & {
// this parent selector lets me modify
// .skrollable without duplicating it
margin-top:0px;
}
}
}
.nonav &
的输出是
.nonav #skroller-body .skrollable
我想知道如果没有额外的HTML标记(包装器#skroller-body.nonav .skrollable
)我是否可以获得div.nonav
?
目前我只会复制父
#skrollr-body {
margin-top:40px;
left:0;
width:100%;
.skrollable {
margin-top:40px;
position:fixed;
z-index:100;
.skrollable {
position:absolute;
.skrollable {
position:static;
}
}
}
&.nonav {
.skrollable {
margin-top:0px;
}
}
}
或者保存冗余输出;
#skroller-body.nonav .scrollable { margin-top:0px; }
但这里的重点是CSS代码易于维护和阅读。
答案 0 :(得分:5)
&
运算符表示嵌套规则的父选择器 在应用修改类或伪类时最常用 到现有的选择器
所以:
#skroller-body {
&.nonav {
.skrollable {
// stuff
}
}
}
}