【发布时间】:2017-08-24 14:42:11
【问题描述】:
如果子元素为空,是否可以隐藏父元素?我知道有 :empty 选择器,但它只有在父级不包含任何内容(包括 HTML 元素)时才有效。
这是我的 HTML:
<div class="row">
<div class="center">
<span class="text-danger label-promotion"><strong></strong></span>
</div>
</div>
还有我的 CSS,遗憾的是它不能以这种方式工作,但我认为你得到了我想要做的事情:
.label-promotion:empty {
display: none;
}
我希望<span> 为空时不会出现,并且我想为此避免使用 JS。这可能吗?
【问题讨论】:
-
它不是空的,因为那里有一个
<strong>。它必须在那里吗? (编辑)对不起,误读了问题的顶部。不,您不能根据孩子的行为影响父母。那就是 Cascading Style Sheet的 cascading 部分> -
您可以删除 strong 元素并为 span 元素分配一个 font-weight: bold 。这样做你可以用 span:empty { display: none; 隐藏整个跨度。 }