0

我正在使用以下代码来居中对齐我的网页,

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

属性已移动到所有子div's元素,导致它们居中对齐。我不是CSS编码员,但我记得有一个技巧可以让父div元素只粘在父元素上div。请帮忙。谢谢

4

4 回答 4

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

#parent * {
    margin: 0;
    width: auto;
}
于 2012-09-29T23:07:23.077 回答
1
#parent{
      margin:0 auto;
      width: 960px;  
}
#child{
      margin:0;
      width: 960px;  
}
<div id="parent">
<div id="child">
          <!--more code goes here-->
</div>
</div>

会工作的,对吧?

于 2012-09-29T23:07:20.853 回答
0

和属性margin被继承(除了通过使用值)。但是,默认情况下,内部元素会在视觉上显示在外部元素中,因此看起来它可能继承了这些属性。实际上,eg是 0(默认情况下),但这意味着元素从与其父元素相同的水平位置开始。同样,对于没有设置宽度的块元素,这意味着可用的水平空间。widthinheritmargin-leftwidthauto

解决问题的方法取决于问题所在。这些属性不存在继承问题。但是,如果您希望使居中元素的子元素从浏览器窗口的最左侧开始,您需要在其上设置负边距或使用绝对定位。

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

于 2012-09-30T07:39:26.777 回答
0

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

于 2012-09-29T23:08:04.443 回答