CSS父/祖先选择[复制](CSS Parent/Ancestor Selector [duplic

2019-06-18 06:06发布

可能重复:
是否有一个CSS选择器父母?

我知道这是一个在黑暗中拍摄,但有什么办法,只能用css,CSS2,没有jQuery的,没有JavaScript,以便选择和风格元素的祖先? 我已经通过了选择,但我的情况下,张贴这我错过了什么或有一个聪明的解决办法。

例如,假设我有一个类名“测试”嵌套一个div一个表里面。 是否有某种:

<div>
    <table class="test">
    </table>
</div>
div (with child) .test
{
     /*styling, for div, not .test ...*/
}

Answer 1:

有在CSS2或CSS3选择器父母没有这样的事情。 而且有可能永远不会,实际上,因为CSS的整个“级联”部分不会是相当对付,一旦你开始做家长选择。

这就是jQuery的是:-)



Answer 2:

在CSS有一个:空选择,让您匹配空元素,你可以否定与效果:没有选择。

div:not(:empty) {
    // your styles here
}

但是我不知道如果所有的浏览器都支持这一点。



Answer 3:

div:not(:empty) {
    margin:0;
}

是不是认可http://jigsaw.w3.org/css-validator/为CSS2

它是CSS的“级联”的宗旨下,从更包含到更具体的因素。 我想这可能为你“扭转你的逻辑”,像

div.myclass   { /* format parent */ }
div.myclass * { /* neutralize formats in descendants */}
div.myclass img { /* more specific formats for img children */ }

好运迈克



Answer 4:

:空伪类Firefox支持,但不兼容IE。

但是,一个非常简单的jQuery解决方法IE在http://www.webmasterworld.com/css/3944510.htm 。 救了我的熏肉



文章来源: CSS Parent/Ancestor Selector [duplicate]