相邻的CSS选择器之间仍然匹配纯文本

问题描述 投票:0回答:2

我有这样的文字:

Line 1
<br>
<br>
<br>
Line 2
<br>
<br>
<br>
<br>
Line 3

我无法控制HTML,也无法使用JavaScript(即我只能使用CSS),但我需要隐藏后续的连续换行符。

问题是这个选择器:

(parent selector) br+br {display:none}

隐藏第2行和第3行之间的所有换行符 - 相邻选择器似乎不关心元素中未包含的任何文本。

我不喜欢这个,或者当元素之间有纯文本时,是否有某种方法可以打破相邻的选择器?

html css css3 css-selectors
2个回答
0
投票

如果你知道br标签的数量是一致的,你可以隐藏所有换行符,只显示某些换行符而不是试图隐藏特定换行符。关键是选择一些东西比选择很多东西更容易

br {
  display: none;
}
br:nth-child(4n) {
  display: initial;
}

这要求线之间的断点数是一致的。遗憾的是,无法在CSS中选择纯文本。


0
投票

我想我已经确定这是一个可以接受的平庸解决方案:

由于换行符通常成对出现,显示第三个连续有助于限制空白,其方式比仅撤消br + br规则更好。

(parent selector) br+br+br {
     display:initial
}
© www.soinside.com 2019 - 2024. All rights reserved.