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