如何使用CSS仅在内容有1个字符时隐藏div?

Dim*_*dny 9 html css show hide

我感兴趣的是当它不是"   "(空白区域)时显示一个文本块,否则隐藏它.我只想使用CSS.代码是:

<div>Some text here</div>
<div>&nbsp;</div>
<div>Another text here</div>
Run Code Online (Sandbox Code Playgroud)

删除 "不是变体.(如果你想建议我使用:空)

请注意div是全局的,也可以随机放置,这就是为什么我要寻找隐藏只有1个字符的div的答案.(或其任何其他变体).

为了说清楚,我无法更改html,它正在从数据库加载数据,因此我需要使用CSS文件来隐藏div内容/标记.如果它以某种方式帮助,那么文本不是动态的并且是静态的,它只在文本从数据库加载时改变一次.

提前致谢!

LcS*_*zar 2

仅使用 CSS 是不可能的。CSS 选择器根据特定元素的属性(id、class 等)或节点结构条件(例如子索引位置)来匹配 HTML 元素,但没有基于内容的选择器。

您可以设置元素文本内容的特定部分(第一个字母等)的样式,但切勿使用内容来定位其父级。

关于CSS 选择器的W3 文档指定以下内容作为可能元素的规则选择器:

  • 通用选择器
  • 类型选择器
  • 后代选择器
  • 子选择器
  • 相邻兄弟选择器
  • 属性选择器
  • ID选择器
  • 伪元素和伪类
  • 伪类
  • 伪元素

抱歉,还没有“内容”选择器!

正如 wumm 评论的那样,已经提出了一些建议,但没有一个得到实施。
JQuery 已经实现了一些接近于此的“伪”,例如:has:contains,但即使这些也无法满足您的需求。