【发布时间】:2019-04-30 19:13:08
【问题描述】:
我正在尝试将动态添加的项目放入某个高度的 flex div 中。例如,我的容器 div 的宽度为 100%,高度为 25vh,我在其子容器中加载了 50 张图像。我希望这些容器相应地调整大小并适合该 div,保持在其中,每行 6-7 个子 div。到目前为止,当我使用 flex-grow:15% 值并将它们移动到新行时,它们根本不会调整大小并在外部重叠,从而移动 div。有什么办法让它工作吗?
这是我的工作:
<div class="brand-container">
<div class="tier-top-1">
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
<div class="tier-item">
<img src="cat.jpg" />
</div>
</div>
</div>
还有 CSS:
.brand-container {
width: 100%;
height: 100vh;
}
.tier-top-1 {
width: 100%;
height: 25vh;
background: white;
display: flex;
justify-content: space-around;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.tier-item {
margin: 1rem;
justify-self: center;
text-align: center;
flex: 1 1 15%;
}
.tier-top-1 img {
max-height: 20vh;
}
【问题讨论】:
-
好问题。您能解释一下您希望扩展哪个容器吗?您是否希望图像变得非常小并适合
25vhdiv 或者您是否希望25vh容器增长? -
是的,我需要图像越来越小,因为它们越来越多,每行添加大约 6-7 个,父容器保持固定的高度和 100% 的宽度。
-
随着边距数量加上图像高度的影响,每行只有 6 或 7 张图像,您需要能够使用 JavaScript 运行计算以设置
max-height的每个图像为25vh减去行之间的空间,该差除以行数。