CSS伪类就像:空,但也忽略了隐藏的孩子

时间:2017-05-25 11:46:26

标签: css css3 css-selectors pseudo-class

:empty pseudo-class代表任何没有孩子的元素。是否有类似的伪类表示任何没有可见子元素的元素(忽略display设置为none的子元素)?

如果没有伪类来执行此操作,是否有办法使用CSS实现此过滤?

1 个答案:

答案 0 :(得分:1)

CSS选择是一种单向树。一旦你接触到孩子,你就不能再对父母采取行动了。

您需要检查所有孩子的display: none;属性,以了解他们是否全部隐藏。您可以选择所有隐藏的子项:<parent tag> *[display=none]。但是,无法知道所有这些孩子是否被隐藏,并且一旦识别出隐藏的孩子,就无法重新选择父母。

为了实现这一目标,您需要使用JavaScript。请参阅:Check if all children elements are hidden