:empty
pseudo-class代表任何没有孩子的元素。是否有类似的伪类表示任何没有可见子元素的元素(忽略display
设置为none
的子元素)?
如果没有伪类来执行此操作,是否有办法使用CSS实现此过滤?
答案 0 :(得分:1)
CSS选择是一种单向树。一旦你接触到孩子,你就不能再对父母采取行动了。
您需要检查所有孩子的display: none;
属性,以了解他们是否全部隐藏。您可以选择所有隐藏的子项:<parent tag> *[display=none]
。但是,无法知道所有这些孩子是否被隐藏,并且一旦识别出隐藏的孩子,就无法重新选择父母。
为了实现这一目标,您需要使用JavaScript。请参阅:Check if all children elements are hidden