我有一个网格。每个单元格都是一个具有最大宽度的图像(在 ex 中使用简单的彩色 div)。有没有办法让网格在图像达到最大宽度时自动添加另一列,而不是仅仅增加它们之间的间隙。 (与缩小到最小宽度时删除列相同)。这是示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
.pet-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
width: 100vw;
}
.pet {
aspect-ratio: 1/1;
background-color: cadetblue;
max-width: 205px;
}
</style>
</head>
<body>
<header></header>
<main>
<div class="pet-grid">
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
</div>
</main>
<footer></footer>
</body>
</html>
将
grid-template-columns
与 auto-fill
或 auto-fit
一起使用
.pet-grid {
display: grid;
grid-template-columns: repeat(auto-fit, 250px);
gap: 10px;
width: 100vw;
}
.pet {
aspect-ratio: 1/1;
background-color: cadetblue;
}
<main>
<div class="pet-grid">
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
<div class="pet"></div>
</div>
</main>