CSS 网格(Grid)是一种二维布局系统,允许你在行和列中排列元素。网格容器中的行和列可以通过不同的属性进行设置,以实现灵活的布局。grid-template-rows
和 grid-template-columns
属性用于定义网格的行和列的大小。
minmax()
函数定义行和列的最小和最大大小。auto
关键字,让浏览器根据内容自动调整大小。你希望只允许 CSS 网格内的行子集自动收缩,而不是所有行都自动收缩。
默认情况下,CSS 网格中的行会根据内容自动调整大小。如果你希望只有特定的行自动收缩,需要对这些行进行特殊设置。
可以使用 minmax()
函数结合 auto
关键字来实现这一需求。以下是一个示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Grid Example</title>
<style>
.grid-container {
display: grid;
grid-template-rows: minmax(100px, auto) minmax(auto, auto) minmax(100px, auto);
gap: 10px;
height: 100vh;
}
.grid-item {
background-color: lightblue;
padding: 20px;
text-align: center;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item">Row 1</div>
<div class="grid-item">Row 2 - This row will auto-shrink if necessary</div>
<div class="grid-item">Row 3</div>
</div>
</body>
</html>
grid-template-rows: minmax(100px, auto) minmax(auto, auto) minmax(100px, auto);
:auto
,这意味着它们不会自动收缩到小于 100px。auto
,这意味着它会根据内容自动调整大小,可能会收缩到更小的高度。通过这种方式,你可以精确控制哪些行会自动收缩,哪些行不会。
领取专属 10元无门槛券
手把手带您无忧上云