如何制作根据图像数量改变图像大小的响应式图像网格?
How to make a responsive image grid which changes image size depending on the amount of images?
我正在尝试制作一个响应式图像网格,当有多个图像彼此相邻时,它会使图像变小,而当只有一个图像时会变大。
(为了更好地理解,下面是一些预期结果的照片)
图片1:
图片二:
我试过最大宽度和最小宽度并使用各种显示模式,但没有成功。此外,我试过在互联网上寻找,但也没有运气。
.photos .content {
width: 70%;
min-height: 100%;
margin-left: 15%;
background-color: #F5F5F5;
}
.photos .content .grid {
display: overflow: none;
}
.photos img {
max-width: 30%;
min-width: 25%;
height: 30%;
}
<div class="panel photos">
<div class="content" id="photos">
<div class="grid">
<img src="img/sample-images/sample1.jpg">
<img src="img/sample-images/sample2.jpg">
<img src="img/sample-images/sample3.jpg">
</div>
</div>
</div>
在父容器
中使用这个CSS
display:grid;
grid-template-columns:repeat( 3 (no. of images), 1fr );
如果您继续在其旁边添加图片,它会在第一行自动调整
我假设第一行有 3 张图像,第二行有 3 张图像。
不要将图片的宽度设为 30%,而是设为 100%
这样它将根据视口缩小尺寸
.grid {
display: grid;
grid-template-columns : repeat(3,1fr);
grid-template-rows: repeat(2, 20vw);
grid-gap: 10px;
}
.grid_image {
width:100%;
height:100%;
object-fit:cover;
}
我正在尝试制作一个响应式图像网格,当有多个图像彼此相邻时,它会使图像变小,而当只有一个图像时会变大。
(为了更好地理解,下面是一些预期结果的照片)
图片1:
图片二:
我试过最大宽度和最小宽度并使用各种显示模式,但没有成功。此外,我试过在互联网上寻找,但也没有运气。
.photos .content {
width: 70%;
min-height: 100%;
margin-left: 15%;
background-color: #F5F5F5;
}
.photos .content .grid {
display: overflow: none;
}
.photos img {
max-width: 30%;
min-width: 25%;
height: 30%;
}
<div class="panel photos">
<div class="content" id="photos">
<div class="grid">
<img src="img/sample-images/sample1.jpg">
<img src="img/sample-images/sample2.jpg">
<img src="img/sample-images/sample3.jpg">
</div>
</div>
</div>
在父容器
中使用这个CSSdisplay:grid;
grid-template-columns:repeat( 3 (no. of images), 1fr );
如果您继续在其旁边添加图片,它会在第一行自动调整
我假设第一行有 3 张图像,第二行有 3 张图像。
不要将图片的宽度设为 30%,而是设为 100%
这样它将根据视口缩小尺寸
.grid {
display: grid;
grid-template-columns : repeat(3,1fr);
grid-template-rows: repeat(2, 20vw);
grid-gap: 10px;
}
.grid_image {
width:100%;
height:100%;
object-fit:cover;
}