代码之家  ›  专栏  ›  技术社区  ›  Blankman

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

  •  0
  • Blankman  · 技术社区  · 14 年前

    假设我的CSS是这样的:

    div.some-class table
    

    所以我有:

    <div class="some-class">
    
    <table ...>
    ..
    </table>
    </div>
    

    如果我需要一个孩子在桌子里面, 孩子似乎继承了父母的风格 ,我希望它的样式有所不同。

     <div class="some-class">
    
        <table ...>
    
    
        <div> <table .. > ... </table> .. </div>
    
    
        </table>
        </div>
    

    我该怎么做?我是否必须明确并做到这一点:

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

    还有别的办法吗?

    3 回复  |  直到 14 年前
        1
  •  0
  •   Sudhir Jonathan    14 年前

    你就可以 .other-class{...} 如果你想自己设计div,或者 .other-class table {...} 如果你想设计表格的样式。

        2
  •  0
  •   Stephen    14 年前

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

    或者使用 #id 在某个地方。

        3
  •  0
  •   Pekka    14 年前

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

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