2011-08-19 56 views
0

比方说,我有两个div像这样:忽略元素包装的CSS

<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> 

我想在名为孩子忽略不被子定义的所有CSS股利的文本。我知道我可以通过定义每个可用于默认的css选项来实现这一点,但对于我当前的项目来说,这会非常笨重。我也不想使用iframe。我怎样才能做到这一点?谢谢。

回答

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

+0

该死的,我希望只有一个html属性,就像cssinherit =“false”。哦,那还不如我想象的那么多。 – Gus

2

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

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

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

+1

编号级联描述确定任何数量的冲突规则中的哪一个适用于元素的过程。元素从父母继承属性的过程称为[继承](http://www.w3.org/TR/CSS21/cascade.html#inheritance) – Quentin