我正在使用以下代码来居中对齐我的网页,
#parent{
margin:0 auto;
width: 960px;
}
<div id="parent">
<!--more code goes here-->
</div>
属性已移动到所有子div's
元素,导致它们居中对齐。我不是CSS
编码员,但我记得有一个技巧可以让父div
元素只粘在父元素上div
。请帮忙。谢谢
#parent{
margin: 0 auto;
width: 960px;
}
#parent * {
margin: 0;
width: auto;
}
#parent{
margin:0 auto;
width: 960px;
}
#child{
margin:0;
width: 960px;
}
<div id="parent">
<div id="child">
<!--more code goes here-->
</div>
</div>
会工作的,对吧?
和属性不margin
被继承(除了通过使用值)。但是,默认情况下,内部元素会在视觉上显示在外部元素中,因此看起来它可能继承了这些属性。实际上,eg是 0(默认情况下),但这意味着元素从与其父元素相同的水平位置开始。同样,对于没有设置宽度的块元素,这意味着可用的水平空间。width
inherit
margin-left
width
auto
解决问题的方法取决于问题所在。这些属性不存在继承问题。但是,如果您希望使居中元素的子元素从浏览器窗口的最左侧开始,您需要在其上设置负边距或使用绝对定位。
对于许多其他属性,例如color
,如果该属性未在元素本身上设置,则该元素会从其父元素继承该属性。如果不需要继承,请在内部元素上设置属性。没有诀窍;这就是 CSS 的工作原理。
为了避免让孩子继承财产,我通常会做的是让一个父母有两个孩子。我为每个孩子制作相同的 div。然后,我为其中一个 div 提供您不希望其他孩子拥有的属性,例如opacity
或其他。之后,我将常规子布局 div 和内容放入子编号 2。这样,不需要的属性成为兄弟属性,而不是继承。