这是我的HTML:
<div class="class1 active">
<div class="class2">
<div class="class3"></div>
</div>
</div>
我想做的就是这个。如果div 1
有一个类active
,我想要删除带有class3
或background property
的div,但我想只使用CSS,而不是使用jquery 。有可能吗?
答案 0 :(得分:2)
您可以使用.class1.active
和background:none
.class3 {
background: red;
height: 100px; /* demo */
width: 100px; /* demo */
border: solid /* demo */
}
.class1.active .class3 {
background: none
}
<div class="class1 active">
<div class="class2">
<div class="class3"></div>
</div>
</div>
如果您想完全删除.class3
集display:none
.class3 {
background: red;
height: 100px; /* demo */
width: 100px; /* demo */
border: solid /* demo */
}
.class1.active .class3 {
display: none
}
.class4 {
border: 1px solid red;
height:100px;
width:100px;
}
<div class="class1 active">
<div class="class2">
<div class="class3"></div>
<div class="class4"></div>
</div>
</div>
如果您想保留空间但完全隐藏.class3
使用visibility:hidden
.class3 {
background: red;
height: 100px; /* demo */
width: 100px; /* demo */
border: solid /* demo */
}
.class1.active .class3 {
visibility: hidden
}
.class4 {
border: 1px solid red;
height:100px;
width:100px;
}
<div class="class1 active">
<div class="class2">
<div class="class3"></div>
<div class="class4"></div>
</div>
</div>
答案 1 :(得分:1)
使用“display:none”完全隐藏div 3。
.class3 {
background: red;
height: 100px; /* demo */
width: 100px; /* demo */
border: solid /* demo */
}
.class1.active .class3 {
display: none
}
<div class="class1 active">
<div class="class2">
<div class="class3"></div>
</div>
</div>