【问题标题】:Equal height grid in Bootstrap with multiple dimension images with FlexboxBootstrap 中的等高网格,带有 Flexbox 的多维图像
【发布时间】:2018-06-05 06:31:35
【问题描述】:
我有不同尺寸的各种图像,需要在引导网格中具有相同的高度。
如何在 Bootstrap 中复制这种相同大小的显示?我在没有喜悦的子项目上尝试了“flex 1”和“flex: 1 0 0%;”在源代码和网络上其他一些同等高度的教程中使用,没有任何乐趣。
我认为这里的解决方案是制作大小相等的矩形 div,但也对使用所有比例的 flexbox 获得相等高度的 div 的方式感兴趣。
【问题讨论】:
标签:
html
css
flexbox
bootstrap-4
【解决方案2】:
他们基本上有一个包装器,其中所有这些行都具有固定的响应宽度(媒体查询,它们为每个屏幕尺寸定义了一个固定宽度)和display:flex/flex-direction:column 这些行堆叠在一起,然后这些行也被弯曲,flex-direction:row 与您的代码不同,每行有 3 个 div,这些 div 有 flex:1 0 0%,所以它们均匀地分割宽度,并且它们每个都有一个 img,每个 img 都有一组定义的大小srcset 具有相同高度的属性。
所以你看到包装器上的固定宽度在子级之间划分,高度由图像定义。
以下示例
我将您的示例分成两行,每行包含 3 张图片,而不是使用 srceset 属性做同样的事情来使图片具有响应性,为此我只是给它们一个固定的高度解释。
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.container {
display: flex;
flex-direction: column;
max-width: 935px !important;
/* Because in here bootsrtap comes after the editor css*/
}
.container>.row {
display: flex;
flex-direction: row;
}
.container>.row>div {
flex: 1 0 0%;
}
.container>.row>div img {
max-width: 100%;
height: 293px;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
<div class="container">
<h1 class="my-4 text-center text-lg-left"></h1>
<div id="" class="row text-center text-lg-left">
<div class="col-lg-4 col-sm-6">
<a href="" class="d-block mb-4 h-100" target="_blank">
<img class="img-fluid img-thumbnail" src="https://www.instagram.com/p/BjiCy5uDPHp/media/?size=l" alt="">
</a>
</div>
<div class="col-lg-4 col-sm-6">
<a href="" class="d-block mb-4 h-100" target="_blank">
<img class="img-fluid img-thumbnail" src="https://www.instagram.com/p/Bjhw_0DDAKB/media/?size=l" alt="">
</a>
</div>
<div class="col-lg-4 col-sm-6">
<a href="" class="d-block mb-4 h-100" target="_blank">
<img class="img-fluid img-thumbnail" src="https://www.instagram.com/p/BjhXUb5DVo4/media/?size=l" alt="">
</a>
</div>
</div>
<div id="" class="row text-center text-lg-left">
<div class="col-lg-4 col-sm-6">
<a href="" class="d-block mb-4 h-100" target="_blank">
<img class="img-fluid img-thumbnail" src="https://www.instagram.com/p/BjhF2fDjc6E/media/?size=l" alt="">
</a>
</div>
<div class="col-lg-4 col-sm-6">
<a href="" class="d-block mb-4 h-100" target="_blank">
<img class="img-fluid img-thumbnail" src="https://www.instagram.com/p/Bjgz6KJDw2S/media/?size=l" alt="">
</a>
</div>
<div class="col-lg-4 col-sm-6">
<a href="" class="d-block mb-4 h-100" target="_blank">
<img class="img-fluid img-thumbnail" src="https://www.instagram.com/p/Bjggi3mjTxf/media/?size=l" alt="">
</a>
</div>
</div>
</div>