我如何用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>
当前回答
.outer - 完整的宽度.inner - 没有宽度设置(但可以指定最大宽度)
假设计算的元素的宽度为1000像素和300像素。
在.center-helper 中插入.center-helper 创建.center-helper 一个内线区块; 它变成相同的尺寸.center 使其宽 300 像素. 按.center-helper 50% 相对其父母; 此位置其左在 500 像素. 向外. 按.center-helper 50% 相对其父母; 此位置其左在 -150 像素. 向中帮助, 这意味着其左在 500 - 150 = 350 像素。
演示:
其他回答
这将你的内心分散为垂直和垂直:
#outer{
display: flex;
}
#inner{
margin: auto;
}
只有垂直调整,变化
margin: 0 auto;
垂直,变化。
margin: auto 0;
使用:
#outerDiv { 宽度: 500px; } #innerDiv { 宽度: 200px; 边缘: 0 auto; } <div id="outerDiv"> <div id="innerDiv"> 内部内容</div> </div>
您可以使用一行代码,仅仅是文本同步:中心。
下面是一个例子:
<div id="outer" style="width:100%"> <div id="inner"><button>hello</button></div> </div>
#inner {
width: 50%;
margin: 0 auto;
}
最熟悉的方式,它是广泛使用和工作在许多浏览器,包括旧的,是使用边界如下:
#parent { 宽度: 100%; 背景颜色: #CCCCCC; } #child { 宽度: 30%; /* 我们需要宽度 */ 边缘: 0 自动; /* 这是魔法 */ 颜色: #FFFFFF; 背景颜色: #000000; 粘贴: 10px; 文本平衡: 中心; } <div id="parent"> <div id="child"> 我是孩子,我是水平中心! 我的爸爸是一个灰色的 div dude!</div> </div>
运行代码以查看它是如何工作的. 此外,有两个重要的事情你不应该忘记在你的CSS,当你试图以这种方式集中: 边缘: 0 自动;. 这使它是 div 中心,如你想要的。