使用纯CSS隐藏包含一个元素的列表

使用纯CSS隐藏包含一个元素的列表,css,css-selectors,Css,Css Selectors,如果列表只包含一个元素,是否有办法使用CSS隐藏该列表?好处:想想IE8 <ul> <li>hide this</li> <ul> 把这个藏起来 但是: 展示这个 和其他人 我正在使用所有同级和下一个选择器(~+),但无法选择上一个CSS元素:(您,但是如果列表项是唯一的子项,那么它同时是and子项,因此您可以使用以下选项隐藏它: li:first child:last child{display:none;} 有一个用于此的伪类

如果列表只包含一个元素,是否有办法使用CSS隐藏该列表?好处:想想IE8

<ul>
  <li>hide this</li>
<ul>
  • 把这个藏起来
但是:

  • 展示这个
  • 和其他人
我正在使用所有同级和下一个选择器(
~
+
),但无法选择上一个CSS元素:(

您,但是如果列表项是唯一的子项,那么它同时是and子项,因此您可以使用以下选项隐藏它:

li:first child:last child{display:none;}

有一个用于此的伪类:
:独生子女(

因此,如果我有以下CSS …仅当存在多个列表项时,才会显示列表项

(注意:正如昆汀所说,它不会隐藏实际列表——当它是唯一的子项时,只隐藏列表项……但只要列表本身没有自己的样式,这就等同于隐藏列表)

以下是上述MDN文章的摘录:

:only child
CSS伪类表示作为 其父级的唯一子级。这与
:第一个子级:最后一个子级相同
或
:第n个孩子(1):第n个最后一个孩子(1)
,但特异性较低


PS:从MDN中可以看出,IE8不支持这一点,因此对于IE8来说,纯CSS解决方案是不走运的。

不清楚你到底在问什么?我认为你不能用CSS计算所有的子元素。为什么不使用JS?你的CSS代码在哪里?或者你可能应该做点什么?@KheemaPandey想用纯CSS HTML列表元素隐藏,如果它是该列表中唯一的孩子。@HddnTHA-rlly?请…超级聪明,这就是我需要的!但这在IE8中不起作用,IE8也没有其他选择。这个伪类比@Quentin solution短,所以它更好。糟糕的是,在IE8中不能同时使用这两个类
<ul>
  <li>show this</li>
  <li>and others...</li>
</ul>
li:only-child {
    display: none;
}