html - Bootstrap 设置列高和间距
问题描述
我想动态填充块。实际上,会有一个 for 循环来发送数据。但是,我在使用bootstrap 4时在不同屏幕尺寸下的高度存在一些问题。在调整大小时,我希望列彼此具有相同的高度(在最大高度限制内采用最长的高度),因为文本在较小的窗口大小上推到额外的行。 问题:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<!--BLOCK-->
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3">
<h3>Title</h3>
<p>Lorem ipsum dolor </p>
<div class="align-self-center mb-3">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
<!--BLOCK ends-->
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3">
<h3>Lorem ipsum dolor sit amet</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<div class="align-self-center mb-3">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3">
<h3>Title</h3>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<div class="align-self-center mb-3">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3">
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<div class="align-self-center mb-3">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
</div>
</div>
解决方案
你几乎很好,因为列的高度已经相等,但里面的内容并没有填满所有的空间。您可以像下面这样调整代码
注意类h-100
( height:100%
) flex-fill
( flex:1 1 auto
) 和mt-auto
( margin-top:auto
)的使用
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<!--BLOCK-->
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning h-100">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3 flex-fill">
<h3>Title</h3>
<p>Lorem ipsum dolor </p>
<div class="align-self-center mb-3 mt-auto">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
<!--BLOCK ends-->
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning h-100">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3 flex-fill">
<h3>Lorem ipsum dolor sit amet</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<div class="align-self-center mb-3 mt-auto">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning h-100">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3 flex-fill">
<h3>Title</h3>
<p>"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<div class="align-self-center mb-3 mt-auto">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
<div class="col-12 col-md-6 col-lg-3 mb-5">
<a class="no-underline" href="/">
<div class="d-flex flex-column bg-warning h-100">
<img src="https://picsum.photos/200" />
<div class="col-12 d-flex flex-column pt-3 flex-fill">
<h3>Title</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
<div class="align-self-center mb-3 mt-auto">
<button class="btn btn-success">View More</button>
</div>
</div>
</div>
</a>
</div>
</div>
</div>
推荐阅读
- javascript - 根据条件过滤javascript数组
- c# - 在 C# 单元测试中替换一种方法行为
- sql - 如何在不截断的情况下将长字符串插入 MariaDB 的 LONGTEXT 列?
- mongodb - 将 API 中的变量存储到 MongoDB
- unity3d - (AppsFlyer / Unity IAP 包)AppsFlyer 应用内购买事件 - AppsFlyer 控制台中显示的收入值不正确
- java - 当我尝试向我应该被允许访问的端点发出请求时,为什么 Spring Security 返回“403 禁止”?
- pointers - Golang 自定义单链表的误区
- botframework - 如何为其他企业开发 Facebook 应用程序?
- kotlin - Kotlin 错误:不能使用提供的参数调用以下函数:
- python - Python中的'pychattr'库,'n_simulations'参数