我如何用CSS垂直集中一个 <div> 在另一个 <div> 中?
<div id="outer">
<div id="inner">Foo foo</div>
</div>
我如何用CSS垂直集中一个 <div> 在另一个 <div> 中?
<div id="outer">
<div id="inner">Foo foo</div>
</div>
当前回答
您可以使用 CSS Flexbox。
#inner {
display: flex;
justify-content: center;
}
您可以在此链接中了解更多信息: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
其他回答
#outer{
display: flex;
width: 100%;
height: 200px;
justify-content:center;
align-items:center;
}
我通常的方式是使用绝对的位置:
#inner{
left: 0;
right: 0;
margin-left: auto;
margin-right: auto;
position: absolute;
}
外部迪夫不需要任何额外的属性来工作。
您可以使用 CSS Flexbox。
#inner {
display: flex;
justify-content: center;
}
您可以在此链接中了解更多信息: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
我已经应用了内线风格到内部 div. 使用此一个:
<div id="outer" style="width:100%">
<div id="inner" style="display:table;margin:0 auto;">Foo foo</div>
</div>
这就是你想要的最短的方式。
JSFIDDLE
#outer {
margin - top: 100 px;
height: 500 px; /* you can set whatever you want */
border: 1 px solid# ccc;
}
#inner {
border: 1 px solid# f00;
position: relative;
top: 50 % ;
transform: translateY(-50 % );
}