【问题标题】:Putting div in the middle of another div将 div 放在另一个 div 的中间
【发布时间】:2016-03-18 23:12:33
【问题描述】:

我创建了一个 html 页面,并使用<center> 使其位于 div 的中心,如下所示,但错误警报消息没有出现在 portlet-body 的中心

谁能告诉我一些解决方法

Plunker

<div class="portlet-body">
  <center>
    <div class="alert alert-error">
      <strong>Oh snap!</strong> Change a few things up and try submitting again.
    </div>
  </center>
</div>

【问题讨论】:

  • 你的意思是文字不在红框内居中?
  • @NenadVracar 不,实际上我将 portlet-body 的内容放在中心和中间
  • .portlet-body{ text-align:center; }
  • 仍然无法工作@Nasco.Chachev

标签: html css styles stylesheet


【解决方案1】:

你不能直接垂直居中任何元素,除非 - 所有父母的身高都是 100%。

有一些巧妙的解决方案可以实现垂直居中,还有一个最新的 CSS3 标准新增功能 - Flexbox

一些流行的技巧:

使用 CSS 表格单元布局

<div class="table">
    <div class="table-cell">
        <!-- You apply 'vertical-align: center' property to table-cell class -->
    </div>
</div>

使用 Flex 布局

.container {
    display: flex;
    align-items: center;
}

进一步阅读:https://philipwalton.github.io/solved-by-flexbox/demos/vertical-centering/

使用幽灵元素

请在此处推荐 Chris Coyer:https://css-tricks.com/centering-in-the-unknown/

【讨论】:

  • @AlexMan Flex 在 IE8 和 IE9 中不受支持。您可以使用 CSS 表格单元格技巧(不是真正的 元素)或 ghost 元素。 caniuse.com/#feat=flexbox 除非,如果你想支持 IE8,最好的选择是使用 Javascript 作为后备。如果我回答了您的疑问,请将其标记为正确答案
猜你喜欢
  • 2015-07-14
  • 1970-01-01
  • 2013-08-26
  • 2021-12-20
  • 2022-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-03
相关资源
最近更新 更多