要隐藏空div,我使用伪类:empty
。
我不仅需要隐藏空div,还需要隐藏具有display: none
样式的子项的div。它看起来只是空的,实际上它有一个html
代码。
有没有办法隐藏这样的块?
我只想使用css
div {
display: inline-block;
background: purple;
color: white;
padding: 1rem;
}
div:empty{
display:none;
}
<br>Div:
<br><div>123</div>
<br><br>
<br>Div with a space:
<br><div> </div>
<br><br>
<br>Empty div (hidden, it is simple):
<br><div></div>
<br><br>
<br>Div with block:
<br><div>
<section>456</section>
</div>
<br><br>
<br>Div with block with a style display:none(how to hide it with css use only?):
<br><div>
<section style="display: none;">789</section>
</div>
<br><br>
答案 0 :(得分:1)
检查它的最简单方法是jQuery所说的其他许多方法(假设display: none
只是内联CSS属性:
if ($(element).prop("style")["width"] !== ''){
$(this).parent().css("display", "none");
}
答案 1 :(得分:1)
我找到了:has
的解决方案,但它并不适用于所有浏览器(http://caniuse.com/#feat=css-has)
div:has(> section[style*="display:block"]) {
display: none;
}
所以,我可以使用jQuery
的解决方案:
$("div:has(section[style*=`display:block`]").hide()
答案 2 :(得分:1)
也许我错过了一些东西,但为什么不用这个课呢?然后使用该类来定位要显示的任何内容:none?
div {
display: inline-block;
background: purple;
color: white;
padding: 1rem;
}
.hide {
display:none;
}
<br><div class="hide">
<section class="hide">789</section>
</div>
<br><br>