如何使用 CSS
将一个 div
水平居中在其父级 div
中?
<div id='parent' style='width: 100%;'>
<div id='child' style='width: 50px; height: 100px;'>Text</div>
</div>
假设父级div没有宽度或者宽度很宽,而子级div有一个较小的宽度。以下代码将把顶部和底部的外边距设置为零,两侧自动适应宽度。这样可以使子级div居中。
div#child {
margin: 0 auto;
}
parent
div上设置text-align: center;
,然后再将其设置回左对齐(或其他对齐方式)以供child
使用。不确定这个问题是否影响IE6... - Mark Emblingchild
div在所有我检查过的IE版本(IE6-8)中似乎向左移动了--与更符合标准的浏览器相比。对于parent
使用text-align: center;
,对于child
使用text-align: left;
可以解决所有这些版本的问题。 - brookmarker<div id='parent' style='width: 100%;text-align:center;'>
<div id='child' style='width:50px; height:100px;margin:0px auto;'>Text</div>
</div>
text-align:center
应用到子 div 还是父 div? - Anish Nair.parent-container {
display: flex;
justify-content: center;
align-items: center;
}
.child-canvas {
flex-shrink: 0;
}
如果您想将两个或多个div居中(使它们并排在中心位置),那么以下是实现的方法:
<div style="text-align:center;">
<div style="border:1px solid #000; display:inline-block;">Div 1</div>
<div style="border:1px solid red; display:inline-block;">Div 2</div>
</div>
您可以在左右margin中使用“auto”值,让浏览器将可用空间平均分配到内部div的两侧:
<div id='parent' style='width: 100%;'>
<div id='child' style='width: 50px; height: 100px; margin-left: auto; margin-right: auto'>Text</div>
</div>
<div id='child' style='width: 50px; height: 100px; margin:0 auto;'>Text</div>