我如何用CSS垂直集中一个 <div> 在另一个 <div> 中?

<div id="outer">
  <div id="inner">Foo foo</div>
</div>

当前回答

这里还有另一种方式可以用Flexbox垂直集中,而无需向内部容器指定任何宽度,想法是使用虚构元素,将从右侧和左侧推内部内容。

.container { 显示: flex; 边界: 1px 固体; }.container:前,.container:后 { 内容: "; flex: 1; }.inner { 边界: 1px 固体红色; 粘贴: 5px; } <div class="container"> <div class="inner"> Foo 内容 </div> </div>

我们也可以考虑到垂直调整的相同情况,简单地改变旋转到列的方向:

.container { 显示: flex; flex 方向: 列; 边界: 1px 固体; min 高度: 200px; }.container:前,.container:后 { 内容: "; flex: 1; }.inner { 边界: 1px 固体红色; 粘贴: 5px; } <div class="container"> <div class="inner"> Foo 内容 </div> </div>

其他回答

Firefox 和 Chrome:

<div style="width:100%;"> <div style="width: 50%; margin: 0px auto;"> 文本</div> </div>

适用于 Internet Explorer、Firefox 和 Chrome:

<div style="width:100%; text-align:center;"> <div style="width: 50%; margin: 0px auto; text-align:left;">Text</div> </div>

文本同步:属性是现代浏览器的可选,但在 Internet Explorer Quirks 模式中需要继承浏览器的支持。

#outer { 显示: 网; justify- 内容: 中心; } <div id="outer"> <div id="inner">hello</div> </div> 在这里输入代码

使用下面的代码。

HTML

<div id="outer">
  <div id="inner">Foo foo</div>
</div>

CSS

#outer {
  text-align: center;
}
#inner{
  display: inline-block;
}

您可以使用 CSS Flexbox 来实现这一点. 您只需要将 3 个属性应用到母元素,以便一切都工作。

#outer {
  display: flex;
  align-content: center;
  justify-content: center;
}

看看下面的代码会让你更好地了解属性。

了解更多关于CSS Flexbox的信息

#outer { 显示: flex; align 标题: 中心; justify 内容: 中心; 边界: 1px 固体 #ddd; 宽度: 100%; 高度: 200px; } <div id="outer"> <div id="inner"> Foo foo</div> </div>

是的,这是一个短暂而干净的水平调整代码。

.classname {
   display: box;
   margin: 0 auto;
   width: 500px /* Width set as per your requirement. */;
}