【问题标题】:Why are columns equal height in Bootstrap 4 and not in Bootstrap 3?为什么 Bootstrap 4 中的列高度相等,而 Bootstrap 3 中的列不相等?
【发布时间】:2022-01-04 14:13:39
【问题描述】:

考虑这些基本且相同的 Bootstrap 3 和 Bootstrap 4 示例。当在同一行内时,在 Bootstrap 3 中 divA 似乎根据其自身的内容占用尽可能多的垂直空间,而在 Bootstrap 4 中,divA 垂直跨度与 divB 一样高取决于其内容。

在 Bootstrap 3 中有没有办法让 divA 像 v4+ 中一样?如何使同一行内的两个divs 具有相同(不固定)的高度?

我已经阅读了 Bootstrap 4+ 中的断点更改,但我找不到任何信息说明为什么它们的工作方式不同。

我错过了什么吗?

#divA {
  background-color: red;
  border: 1px solid black;
}

#divB {
  border: 1px solid black;
}
<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>

<body>
  <div class="container">
    <div class="row">
      <div class="col-xs-6" id="divA">
        <span>B</span>
      </div>
      <div class="col-xs-6" id="divB">
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
      </div>
    </div>
  </div>

  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>

#divA {
  background-color: red;
  border: 1px solid black;
}

#divB {
  border: 1px solid black;
}
<head>
  <!-- Required meta tags -->
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <!-- Bootstrap CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>

<body>
  <div class="container">
    <div class="row">
      <div class="col-sm-6" id="divA">
        <span>B</span>
      </div>
      <div class="col-sm-6" id="divB">
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
        <div>B</div>
      </div>
    </div>
  </div>

  <!-- Optional JavaScript -->
  <!-- jQuery first, then Popper.js, then Bootstrap JS -->
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>

【问题讨论】:

  • Bootstrap 4 使用flexbox。它与早期版本完全不同,您只需在浏览器的检查器中检查这些 sn-ps 即可看到。我不会要求提供有关差异的指南,而是会修改以询问您的实际问题,我认为这是在 BS4 中实现特定布局。
  • 我明白了,谢谢。问题是我们在 v3 上,我需要 divA 像在 v4+ 中那样工作,也就是说,一行内的两个 div 具有相同(不固定)的高度。
  • "为什么 Bootstrap 4 中的列高度相等,而 Bootstrap 3 中的列不相等?" - 因为 Bootstrap 3 使用浮点数而 Bootstrap 4 使用 flexbox
  • 你必须手动实现 flexbox。 Shanu 在下面的回答是这样做的,同时使用 Bootstrap 类来实现未来的兼容性。

标签: html css twitter-bootstrap frontend


【解决方案1】:

只需使用 flex。

.d-flex {
  display: flex;
}
.a {
  background: red;
  width: 30%;
}
<div class="d-flex">
  <div class="a">A</div>
  <div class="b">
    Lorem ipsum dolor sit amet consectetur adipisicing elit. Nulla soluta corporis, repellat architecto error voluptatibus neque vitae tempora laudantium saepe nostrum sint ipsam dignissimos recusandae magnam illo eveniet veritatis! Unde.
  </div>
</div>

【讨论】:

  • 使用 Bootstrap 4 类的好主意。您也可以使用w-30 作为宽度。
猜你喜欢
  • 1970-01-01
  • 2018-03-13
  • 2015-09-10
  • 2021-07-24
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多