【发布时间】: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