100% 高度的 boostrap 列中的垂直中心内容

问题描述 投票:0回答:1

列需要是行的整个高度,但内容(文本)仍然需要垂直居中。

<div class="row fixed-bottom mobile-navbar align-items-center">
    <router-link to="/" class="col h-100">Home</router-link>
    <router-link to="/scan" class="col h-100">Scan</router-link>
    <router-link to="/account" class="col h-100">Account</router-link>
  </div>

我该怎么做?

我尝试将 span 放在 a 元素内并使用 py-auto,但这似乎并不能解决问题。

css bootstrap-4 flexbox vertical-alignment
1个回答
0
投票

h-100 取其所在对象的 100% 大小,因此它不能居中,因为它是 100% 垂直的。 删除 h-100s 并为容器提供以下 css 或类。

必须是:

<div class="row h-100 align-items-center" > //must be bigger than router height you can write min height:200px;
<router-link to="/" class="col ">Home</router-link>
<router-link to="/scan" class="col ">Scan</router-link>
<router-link to="/account" class="col">Account</router-link>
</div>

替代方案:

  <!doctype html>
  <html lang="en">
    <head>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>Bootstrap demo</title>
      <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    </head>
    <body>
      <h1>Hello, world!</h1>
      <div class="row d-flex align-items-center border" style="height:500px;">
        <div class="col border">1</div>
        <div class="col border">2</div>
        <div class="col border">3</div>
      </div>
      <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
    </body>
  </html>
© www.soinside.com 2019 - 2024. All rights reserved.