CSS父/祖选择器

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

我知道这是在黑暗中拍摄,但有没有办法,只使用CSS,CSS2,没有jQuery,没有JavaScript,选择和样式元素的祖先? 我已经通过了选择器,但是我发布了这些信息以防我错过了某些东西或者有一个聪明的解决方法。

例如,假设我有一个嵌套在div中的类名为“test”的表。 是否有某种形式:

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

在CSS2或CSS3中没有父母选择器这样的事情。 实际上,可能从来没有,因为一旦你开始做父母选择器,CSS的整个“级联”部分不会很好处理。

这就是jQuery的用途:-)


在CSS中有一个:空选择器,允许您匹配空元素,您可以使用:not selector来取消效果。

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

不过,我不确定是否所有的浏览器都支持这一点。


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 */ }

祝你好运迈克

链接地址: http://www.djcxy.com/p/22823.html

上一篇: CSS Parent/Ancestor Selector

下一篇: Is there a CSS "haschildren" selector?