【发布时间】:2019-10-19 10:11:24
【问题描述】:
我正在尝试使用 FlexBox 制作可调整大小/可缩放的图像网格。
问题在于,每当由于调整窗口大小而导致图像比例过窄时,FlexBox 会在前几行放置额外的图像以填充空间。
在某些窗口比例下看起来不错。但是,如果窗口的高度太短而宽度太长,那么下排的图像会移到上排。
我尝试过使用弹性框和表格。在使用 FlexBox 时,我还尝试使用图像的 flex 属性设置 flex 项的宽度。这样做的问题是图像会拉伸和扭曲以填充所需的空间。
这是我正在使用的代码:
html, body {
height: 100%;
width: 100%;
margin: 0;
}
#flex-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
background-color: blue;
height: 100%;
}
#flex-container>img {
width: auto;
height: auto;
max-width: 25%;
max-height: 50%;
margin: auto;
}
<div id="flex-container">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
<img src="https://via.placeholder.com/150C/O https://placeholder.com/">
</div>
我想让图像保持在同一行和同一列,只根据页面的大小调整自己的大小。
我不需要使用 FlexBox,但它似乎是完成这项任务的最佳方式。
【问题讨论】:
-
您想将所有图像保留在 1 行中,还是将它们平均分成 2 行?