Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于同级子级获取CSS选择器_Css_Css Selectors_Siblings - Fatal编程技术网

基于同级子级获取CSS选择器

基于同级子级获取CSS选择器,css,css-selectors,siblings,Css,Css Selectors,Siblings,我有这样一个dom树: <div class="a"> <div class="sub_a"></div> </div> <div class="b"></div> 是否有一个选择器可以使用classb更改元素,如果classa sub\u a存在?如注释中所述,没有JavaScript,您无法完全实现所需的结果。 但是,您可以检查div.a是否为空,然后基于此设置相邻类的样式 div.a:not(:empty

我有这样一个dom树:

<div class="a">
    <div class="sub_a"></div>
</div>
<div class="b"></div>


是否有一个选择器可以使用class
b
更改元素,如果class
a sub\u a
存在?

如注释中所述,没有JavaScript,您无法完全实现所需的结果。 但是,您可以检查
div.a
是否为空,然后基于此设置相邻类的样式

div.a:not(:empty) + .b {
  background-color: blue;
}

你所要求的,仅仅用CSS是不可能的

不过,您可以这样做:

.a:空的+.b{
背景:绿色;
}
.a+b{
背景:红色;
}

测试2

Test2
您必须使用JS。这是不可能的,因为CSS无法查找“up”。最好的选择是JS,或者编辑DOM(如果可能的话,可以设置
)。