使用 flexbox 网格的 Bootstrap 4 砌体布局 [英] Bootstrap 4 masonry layout utilizing flexbox grid
问题描述
有没有办法利用 Bootstrap 4 配备的 flexbox 网格创建砖石柱布局?在我看来,所有的列都等高.
这对于标准 Bootstrap 4 类几乎是可行的.文档中甚至有一整节关于 卡片列 功能.
来自文档:
卡片可以组织成 Masonry-like 列,只需用 CSS 将它们包装在 .card 中-列
.卡片是使用 CSS
列属性而不是 flexbox 构建的,以便于对齐.卡片按从上到下、从左到右的顺序排列.
抬头!您使用卡列的里程可能会有所不同.为了防止卡跨列,我们必须将它们设置为 display: inline-block
因为 column-break-inside: avoid
还不是防弹解决方案.
所以,您所要做的就是将您的 .card
包装到一个 .card-columns
容器中,如下所示:
<div class="card-columns"><div class="card"><img class="card-img-top" src="http://via.placeholder.com/1600x900/483D8B/ffffff?text=Card+1" alt="卡片图片上限"><div class="card-body"><h5 class="card-title">换行的卡片标题</h5><p class="card-text">这是一张较长的卡片,下面的支持文本是附加内容的自然引导.这个内容有点长.</p>
<div class="card p-3"><blockquote class="blockquote mb-0 card-body"><p>Lorem ipsum dolor sat amet, consectetur adipiscing elit.</p><footer class="blockquote-footer"><small class="text-muted">在<cite title="Source Title">Source Title</cite>中出名的某个人</小></页脚></blockquote>
<div class="card"><img class="card-img-top" src="http://via.placeholder.com/1600x450/9400D3/ffffff?text=Card+2" alt="卡片图片上限"><div class="card-body"><h5 class="card-title">卡片标题</h5><p class="card-text">这张卡片下面有支持文本,作为对附加内容的自然引导.</p><p class="card-text"><small class="text-muted">上次更新时间为 3 分钟前</small></p>
<div class="card bg-primary text-white text-center p-3"><blockquote class="blockquote mb-0"><p>Lorem ipsum dolor sat amet, consectetur adipiscing elit.</p><footer class="blockquote-footer"><小>在<cite title="Source Title">Source Title</cite>中出名的某个人</小></页脚></blockquote>
<div class="card text-center"><div class="card-body"><h5 class="card-title">卡片标题</h5><p class="card-text">这张卡片下面有支持文本,作为对附加内容的自然引导.</p><p class="card-text"><small class="text-muted">上次更新时间为 3 分钟前</small></p>