避免在子div中使用父div属性

时间:2012-09-29 23:04:13

标签: html css css3

我使用以下代码将我的网页对齐,

#parent{
      margin:0 auto;
      width: 960px;  
}
<div id="parent">
          <!--more code goes here-->
</div>

属性已移至所有子div's,导致它们居中对齐。我不是CSS编码器,但我记得有一个技巧可以让父div元素仅仅坚持父div。请帮忙。感谢

4 个答案:

答案 0 :(得分:2)

#parent{
    margin: 0 auto;
    width: 960px;  
}

#parent * {
    margin: 0;
    width: auto;
}

答案 1 :(得分:1)

#parent{
      margin:0 auto;
      width: 960px;  
}
#child{
      margin:0;
      width: 960px;  
}
<div id="parent">
<div id="child">
          <!--more code goes here-->
</div>
</div>

会奏效,对吧?

答案 2 :(得分:0)

我通常做的是避免孩子继承属性,父母一方有两个孩子。我为每个孩子制作相同的div。然后,我给其中一个div提供你不希望其他孩子拥有的属性,比如opacity或其他。之后,我将常规子布局div和内容放入子编号2.这样,不良属性成为兄弟属性,而不是继承。

答案 3 :(得分:0)

marginwidth属性继承(除非使用inherit值)。但是,内部元素默认显示在外部元素中,因此它可能看起来像是继承了这些属性。实际上,例如margin-left为0(默认情况下),但这意味着该元素从与其父元素相同的水平位置开始。同样,对于没有设置宽度的块元素,widthauto,这意味着可用的水平空间。

问题的解决方法取决于问题所在。这些属性没有继承问题。但是,如果你想做,例如一个居中元素的子元素从浏览器窗口的最左侧开始,您需要例如设置负边距或使用绝对定位。

对于许多其他属性,例如color,如果未在元素本身上设置该属性,则元素将从其父级继承该属性。如果不希望继承,请在内部元素上设置属性。没有诀窍;这就是CSS的工作原理。