我正在尝试基于其父类将样式应用于div.我使用:not()选择器来选择父级不是.container1的div,第二个div应该是红色,但它不起作用.
例1
.myDiv:not(.container1) > .myDiv {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<div class="container1">
<div class="myDiv">Div 1</div>
</div>
<div class="container2">
<div class="myDiv">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
例2
.myDiv:not(.container1 .myDiv) {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<div class="container1">
<div class="myDiv">Div 1</div>
</div>
<div class="container2">
<div class="myDiv">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
CSS甚至可以实现这一点吗?或者我的语法刚刚关闭?
Sho*_*omz 15
你选择了错误的元素.无法进行反向查找,请参见此处:
div:not(.container1) > .myDiv {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<div class="container1">
<div class="myDiv">Div 1</div>
</div>
<div class="container2">
<div class="myDiv">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
理想情况下,您将这些父div分组在同一个类下,以避免超通用div选择器:
.container:not(.container1) > .myDiv {
color: red;
}Run Code Online (Sandbox Code Playgroud)
<div class="container container1">
<div class="myDiv">Div 1</div>
</div>
<div class="container container2">
<div class="myDiv">Div 2</div>
</div>Run Code Online (Sandbox Code Playgroud)
CSS不能那样做“父查询”。您需要将结构反转为:
.my-container:not(.container1) .myDiv
Run Code Online (Sandbox Code Playgroud)
当然,您需要将共享my-container类添加到所有感兴趣的“父” div中。
| 归档时间: |
|
| 查看次数: |
16189 次 |
| 最近记录: |