【问题标题】:How to vertically align item in Bootstrap 4?如何在 Bootstrap 4 中垂直对齐项目?
【发布时间】:2019-03-15 20:25:23
【问题描述】:

我正在尝试垂直对齐列内的文本。如果我在父级(列)中使用my-auto,那么它会垂直对齐文本,但它会将所有内容拉到中心并且我需要保持背景。背景颜色当前在列上。

当我删除my-auto 时,会返回完整的橙色背景,但文本位于顶部。

我尝试创建一个内部行>列结构来解决它,但它不起作用。有什么想法吗?

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>

<div class="container-fluid">
  <div class="row no-gutters">
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-4 col-xl-4 my-auto" style="background-color: #f04e23;">
      <h1 class="display-4 text-center">2018 Speakers</h1>
    </div> 
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
  </div>
</div>

【问题讨论】:

  • "message": "Script error.", 你需要在 bootstrap.min.js 之前加载 jQuery。
  • @connexo - 已修复。
  • 总是可以在您的h1 上执行style="position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)" 或等效的类以获得您想要的结果....
  • 这仍然破坏了我的背景颜色。这是 codepen 供进一步参考。

标签: css twitter-bootstrap vertical-alignment


【解决方案1】:

不使用边距,而是通过添加 .d-flex 类将列的显示设置为 flex,然后使用 .align-items-center 类将文本垂直居中。您也可以添加.justify-content-center 使其水平居中:

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>

<div class="container-fluid">
  <div class="row no-gutters">
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-4 col-xl-4 d-flex align-items-center justify-content-center" style="background-color: #f04e23;">
      <h1 class="display-4 text-center">2018 Speakers</h1>
    </div> 
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
    <div class="col-xs-6 col-sm-4 col-md-3 col-lg-2 col-xl-2">
      <div class="card">
        <img class="img-fluid" src="https://picsum.photos/400/600" alt="" />
      </div>
    </div>
  </div>
</div>

【讨论】:

    猜你喜欢
    • 2017-09-04
    • 2017-05-07
    • 2017-05-11
    • 2017-11-03
    • 2020-03-11
    • 2023-01-29
    • 2017-12-10
    • 2016-03-02
    • 1970-01-01
    相关资源
    最近更新 更多