没有文本的元素的 CSS 伪类

标签 css pseudo-class

是否有像这样没有文本节点的元素的 CSS 伪类:

div:nocontent {
    display: none;
}

我知道有 :empty 伪类,但我想要的东西应该忽略标签...

例如:

<div>
    <p></p>
</div>

有什么解决办法吗?

编辑:

为了澄清,它可能是这样的语法:

<div class="checker">
    <div class="somemarkupcontainerthatcomesfromthesystemandcantberemoved"></div>
</div>

然后像这样隐藏整个东西(这将是最佳选择):

.checker:nocontent {
    display: none;
}

最佳答案

如果你想定位你的 div,你需要一个父选择器,它(还)不存在,所以要解决这个问题需要一个脚本。

根据 Hitmands 的建议, check this post获取脚本示例。

当涉及到脚本时,还有服务器端方法,其中替换脚本可以在将结果发送到客户端之前解析出空标签。

如果你想定位你的 p,如果它是空的并且是你的 div 的 child ,你可以这样做。

div {
  border: 2px solid red;
  min-height: 20px;
}
p {
  border: 2px solid blue;
  height: 20px;
}
div:not(:empty) p:empty {
  display: none;
}
<div>
    <p></p>
</div>
<br />
<div>
    <p>Hey</p>
</div>

关于没有文本的元素的 CSS 伪类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34173881/

相关文章:

javascript - SVG 图标只变形一次,不会变形回来

html - 根据 lang 属性为所有元素设置 css 样式

html - html 或 css 中不规则形状的框架/边框

css - 无法使用 CSS 和 XSL 设置背景图片

css - E > E :nth-child(2) pattern doesn't work. 如何解决?

css - 使用 :target pseudo-class 时出现打印问题

javascript - 如何通过 JavaScript 更改伪类样式?

css - Bootstrap 4 div(带有 btn 类)中的垂直对齐文本,使用 CSS Grid(并且没有 flexbox)时没有固定高度

html - 是否存在 CSS ":drop-hover"伪类?

javafx - 伪类 : notification from states broken on setting custom state