如何覆盖继承的样式?是重新定义所有样式元素的唯一方法?

时间:2010-11-04 16:46:08

标签: html css

说我有这样的CSS:

div.some-class table

所以我有:

<div class="some-class">

<table ...>
..
</table>
</div>

现在,如果我需要在表格中设置一个子div,孩子似乎继承了父样式,我希望它的样式不同。

 <div class="some-class">

    <table ...>


    <div> <table .. > ... </table> .. </div>


    </table>
    </div>

我该怎么做?我必须明确并且这样做:

div.some-class table div.other-class table

还有其他方式吗?

3 个答案:

答案 0 :(得分:0)

如果您要尝试设置div本身,则可以.other-class{...};如果要为表设置样式,则可以.other-class table {...}

答案 1 :(得分:0)

你应该永远明确。它使事情更容易理解:

div.some-class table                           { /* styles */}
    div.some-class table div.other-class table { /* child-styles */}

或者在某处使用#id

答案 2 :(得分:0)

你可以

  • 给第一个表一个特定的类名,所有规则都指向该类(这是最简单的解决方案,但在干净的CSS方面最不好)

  • 使用子选择器div.some-class > table创建仅处理第一个表而不是第二个表的规则(doesn't work in IE6