只是不能让 flex 使用 bootstrap 或 vanilla flexbox 垂直居中元素

Posted

技术标签:

【中文标题】只是不能让 flex 使用 bootstrap 或 vanilla flexbox 垂直居中元素【英文标题】:Just cannot get flex to vertically center an element with bootstrap or vanilla flexbox 【发布时间】:2020-12-18 04:41:50 【问题描述】:

我在这里失去了我的弹珠。我浏览过*** 上与我的问题、flexbox 自己的资源和bootstrap 的tuts 相匹配的热门帖子,并且我尝试自己实现这些。要么我仍然缺少一个基本的 CSS 值(当然可能),要么我仍然缺少一个基本的 flexbox 值,或者我完全误解了一些东西。我正在使用 Bootstrap 4,但从未设法使用 flex 将元素垂直居中。

包含 Bootstrap 类的我的标记内容显示在下方。 H1 元素沿 x 轴成功居中,但未沿 y 轴居中。

<section>
    <div class="container">
        <div class="row">
            <div class="col-12">
                <div class="d-flex align-items-center justify-content-center">
                    <h1 class="neoretrodraw logo text-center">Logo Text Here</h1>
                </div>
            </div>
        </div>
    <div>
</section>

请,请不要简单地指向同一网站上的另一个或多个帖子 - 我敏锐地意识到这个问题之前可能已经以不同的形式得到了回答,并且已经完成了我的阅读。我觉得这是一件简单的事情,我因为一个简单的错误而错过了。

【问题讨论】:

【参考方案1】:

您只需要在flex 类中使用vh-100 类以及xy-axixh1 为中心

现场演示:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<section>
  <div class="container">
    <div class="row">
      <div class="col-12">
        <div class="vh-100 d-flex align-items-center justify-content-center">
          <h1 class="neoretrodraw logo text-center">Logo Text Here</h1>
        </div>
      </div>
    </div>
  </div>
</section>

【讨论】:

以上是关于只是不能让 flex 使用 bootstrap 或 vanilla flexbox 垂直居中元素的主要内容,如果未能解决你的问题,请参考以下文章

没有html表的Bootstrap flex等宽列

Bootstrap和flex的比较,清除浮动的实现原理

bootstrap d-flex中的Jquery Datatable在Internet Explorer中溢出父级

防止 Bootstrap 按钮填充 flexbox

如何让`page-break-inside:避免`与`flex-wrap:wrap`很好地协同工作

Bootstrap 4 中 .flex-fill 的对立面是啥?