如何设置样式但排除 类 及其 children?
How do I set a style but exclude classes and their children?
我的页面上有 less 样式 div。我想创建一些 less 以排除具有特定 class 的 div 以及它们的所有 children.
这是我的(简体)html:
<div class='people'>
<div>
<!--This text should be green-->
Bob
</div>
<div>
<!--This text should be green-->
Geoff
</div>
<div class="ex-members">
<div>
<!--This text should remain red-->
Mary
</div>
<div>
<!--This text should remain red-->
Fred
</div>
</div>
</div>
这是我尝试使用的 less:
body {
color:red;
}
.people {
&:not(.ex-members) {
color:green;
}
}
但这似乎只是将所有名称设置为绿色。
N.B。我当然可以通过覆盖绿色并将 ex-members 再次设置回黑色来解决这个问题,但我想尽可能避免这样做。
您可以使用直接后代选择器 >
.people {
> :not(.ex-members){
color:green;
}
}
编译为...
body {
color: red;
}
.people> :not(.ex-members) {
color: green;
}
<div class='people'>
<div>
<!--This text should be green-->
Bob
</div>
<div>
<!--This text should be green-->
Geoff
</div>
<div class="ex-members">
<div>
<!--This text should remain red-->
Mary
</div>
<div>
<!--This text should remain red-->
Fred
</div>
</div>
</div>
您的 ex-members
div 在您的 people
div 中,您的第二种样式正在寻找带有 people
class 的元素而且上面没有 ex-members
class。简单的解决方案是删除 &:not
.
.ex-members {
color:green;
}
我的页面上有 less 样式 div。我想创建一些 less 以排除具有特定 class 的 div 以及它们的所有 children.
这是我的(简体)html:
<div class='people'>
<div>
<!--This text should be green-->
Bob
</div>
<div>
<!--This text should be green-->
Geoff
</div>
<div class="ex-members">
<div>
<!--This text should remain red-->
Mary
</div>
<div>
<!--This text should remain red-->
Fred
</div>
</div>
</div>
这是我尝试使用的 less:
body {
color:red;
}
.people {
&:not(.ex-members) {
color:green;
}
}
但这似乎只是将所有名称设置为绿色。
N.B。我当然可以通过覆盖绿色并将 ex-members 再次设置回黑色来解决这个问题,但我想尽可能避免这样做。
您可以使用直接后代选择器 >
.people {
> :not(.ex-members){
color:green;
}
}
编译为...
body {
color: red;
}
.people> :not(.ex-members) {
color: green;
}
<div class='people'>
<div>
<!--This text should be green-->
Bob
</div>
<div>
<!--This text should be green-->
Geoff
</div>
<div class="ex-members">
<div>
<!--This text should remain red-->
Mary
</div>
<div>
<!--This text should remain red-->
Fred
</div>
</div>
</div>
您的 ex-members
div 在您的 people
div 中,您的第二种样式正在寻找带有 people
class 的元素而且上面没有 ex-members
class。简单的解决方案是删除 &:not
.
.ex-members {
color:green;
}