我尝试使用margin来居中我的div:像这样自动:
#main-container #control-panel {margin: 10px auto;}
但它仍然与左边对齐。我发现我必须为div指定一个宽度,以使它居中:
#main-container #control-panel {width: 300px; margin: 10px auto;}
那么,以div为中心需要宽度吗?我认为div的宽度应该由其内部内容自动修改? (在这种情况下,我在控制面板div中有一个按钮)
结果在最新的Chrome下测试。
答案 0 :(得分:6)
是的,这是必要的。
div宽度的默认值为auto
,这意味着它会尝试占用所有可用空间。由于两侧没有留下边距,自动边距将为零。
答案 1 :(得分:3)
是的,如果您希望他进入define width
center
到您的div
但是如果您不想要固定宽度,那么只需在父div&中定义text-align:center
即可。像这样定义display:inline-block
:
.parent{
text-align:center;
}
.child{
display:inline-block;
text-align:left;
}
答案 2 :(得分:2)
div
元素始终为auto(父容器的100%宽)。你想把这个元素居中,你设置margin:0 auto
,它会居中但你不会注意到它,因为它是100%宽。
这就是为什么看起来它没有居中:)
答案 3 :(得分:1)
是的,使用margin-left/margin-right:auto;
时,您必须指定div的宽度。
如果没有宽度,div
自然具有auto
宽度,因此它居中对齐,但您无法判断它是否填充了容器。
答案 4 :(得分:-1)
是宽度是必要的,试试这个:
#control-panel { width=970px;margin: 0 auto;}