忽略元素包装器的CSS

时间:2011-08-19 15:09:53

标签: css html parent

假设我有两个这样的div:

<div name="parent" style="color:blue;padding:5px">
  <div name="child" style="background:red">
    Text that ignores color:blue and padding:5px, but still obeys background:red.
  </div>
</div>

我希望div中名为child的文本忽略所有未由child定义的css。我知道我可以通过定义默认可用的每个css选项来做到这一点,但这对我当前的项目来说会非常笨重。我也不想使用iframe。我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:2)

CSS中的“C”=“级联”,这意味着元素从父母那里继承属性。

您可能可以编写一些脚本来帮助自动执行此操作,但您确实需要覆盖父项的属性。这就是CSS的工作方式。

P.S。你应该使用ID和类,而不是“名字”。

答案 1 :(得分:1)

  

我知道我可以通过定义可用的每个css选项来做到这一点   默认情况下,但对于我当前的项目而言,这将非常笨重。

不幸的是,这就是必须要做的事情:

<div name="parent" style="color:blue;padding:5px">
  <div name="child" style="background:red;color:#000">
    Text that ignores color:blue and padding:5px, but still obeys background:red.
  </div>
</div>

padding不可继承,因此您无需重置。点击此处的“继承”列,查看您需要重置的内容:http://www.w3.org/TR/CSS21/propidx.html