以下是一个不使用object-fit: cover
的CSS图像网格的解决方法示例:
HTML代码:
CSS代码:
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 10px;
}
.grid-item {
position: relative;
overflow: hidden;
padding-bottom: 100%; /*设置项目高度为宽度的百分比*/
}
.grid-item img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover; /*保持图片比例并填充整个区域*/
}
上述代码中,我们使用了CSS Grid来创建一个网格布局。每个图像都包装在一个具有 这样,即使图像的大小不一致,它们也会按照网格布局进行排列,并保持相同的宽高比。.grid-item
类的position: relative
和overflow: hidden
,我们将每个图像容器设置为一个固定的宽高比。在这个示例中,我们设置了一个1:1的宽高比,即正方形。然后,我们将图像设置为绝对定位,并使用object-fit: cover
将图像保持比例并填充整个容器。
相关内容