目录
目录X
联系信息 首页 /正文内容

CSS Grid 网格布局中的一些实用小技巧

AI摘要(BLUF)

‌1. 使用 repeat() 简化重复定义‌
避免手动重复写列或行,用 repeat() 函数快速生成规律结构。
‌.grid-container {
 display: grid;
 grid-template-columns: repeat(3, 1fr); /* 3列等宽 /  grid-template-rows: repeat(2, 100px);  / 2行高100px */
}


‌2. 自适应布局:auto-fill 与 auto-fit‌


根据容器宽度自动调整列数,适合响应式卡片网格。
.grid-container {
     grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}


‌auto-fill‌:尽可能创建轨道(即使为空)。
auto-fit‌:自动压缩现有项目填满容器,‌更常用‌ ‌。


‌3. 限制尺寸范围:minmax()‌


确保轨道不会过小或过大,提升布局弹性。
.grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
表示每列最小200px,最大占1份可用空间


4. 快速对齐:place-items 和 place-content‌


  • ‌place-items‌:同时设置 justify-items 和 align-items。

  • ‌place-content‌:同时设置 justify-content 和 align-content。

  • .grid-container {  place-items: center; /* 水平垂直居中所有项目 *
    /}


等同于 align-items: center; justify-items: center


5、控制项目跨越:grid-column / grid-row + span‌
让项目跨越多列或多行。
.item {
 grid-column: 1 / span 2; /* 从第1列开始,跨越2列 /
 grid-row: 2 / 4; /
从第2行到第4行(不包含4) */
 }
span 后数字不能为0或负数 ‌


6. 调试技巧:添加背景网格


临时为网格添加视觉辅助线,便于调试。
.grid-container {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    background-image: linear-gradient(to right, #ccc 1px, transparent 1px),
    linear-gradient(to bottom, #ccc 1px, transparent 1px);  background-size: calc(100% / 3) 1px, 1px calc(100% / 3);
}
7、响应式网格 + 媒体查询‌
结合媒体查询实现移动端适配。
.card-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.5rem;
}
@media (max-width: 600px) {
.card-grid {grid-template-columns: 1fr;}
}


注意事项‌


  • 设置 display: grid 后,子元素的 float、display: inline-block 等布局属性‌失效‌ 。

  • Grid 兼容性极好,主流浏览器均支持 ‌

【打印正文】 发布时间:2026-04-08 16:12:40 浏览次数: 作者: 来源:本站原创