CSS父/祖先选择器

时间:2009-08-09 17:11:49

标签: css xhtml styles styling

  

可能重复:
  Is there a CSS parent selector?

我知道这是一个黑暗中的镜头,但有没有办法,只使用CSS,CSS2,没有jquery,没有javascript,来选择和设计元素的祖先?我已经通过选择器,但我发布这个以防我错过了一些东西或有一个聪明的解决方法。

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

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

4 个答案:

答案 0 :(得分:10)

CSS2或CSS3中没有父选择器。实际上,可能永远不会有,因为一旦你开始做父选择器,CSS的整个“层叠”部分就不会很好了。

这就是jQuery的用途: - )

答案 1 :(得分:7)

在CSS中有一个:空选择器,允许你匹配空元素,你可以用以下方法否定效果:不是选择器。

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

但是我不确定所有浏览器是否支持此功能。

答案 2 :(得分:2)

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 */ }
祝你好运 麦克

答案 3 :(得分:1)

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

但IE的一个非常简单的jQuery解决方法是http://www.webmasterworld.com/css/3944510.htm。保存了我的培根