grid的常见使用场景

场景1:固定几列显示,显示不下会自动换行

html 复制代码
<div id="container">
  <div class="item item-1">1</div>
  <div class="item item-2">2</div>
  <div class="item item-3">3</div>
  <div class="item item-4">4</div>
  <div class="item item-5">5</div>
  <div class="item item-6">6</div>
  <div class="item item-7">7</div>
  <div class="item item-8">8</div>
  <div class="item item-9">9</div>
</div>
css 复制代码
/* 关键代码  */
#container{
  display: grid;
  grid-template-columns: repeat(3,33.3%);// 平分页面三列
}

.item {
  font-size: 2em;
  text-align: center;
  border: 1px solid #e5e4e9;
}

.item {
  font-size: 2em;
  text-align: center;
  border: 1px solid #e5e4e9;
}

.item-1 {
  background-color: #ef342a;
}

.item-2 {
  background-color: #f68f26;
}

.item-3 {
  background-color: #4ba946;
}

.item-4 {
  background-color: #0376c2;
}

.item-5 {
  background-color: #c077af;
}

.item-6 {
  background-color: #f8d29d;
}

.item-7 {
  background-color: #b5a87f;
}

.item-8 {
  background-color: #d0e4a9;
}

.item-9 {
  background-color: #4dc7ec;
}
css 复制代码
#container{
  display: grid;
  grid-template-columns: repeat(2,50%);
}

场景2:格子宽度固定, 显示几列不确定

css 复制代码
#container{
  display: grid;
  grid-template-columns: repeat(auto-fill,120px);// 也可使用百分比
}

场景3:不同列所占份数不同

css 复制代码
#container{
  display: grid;
  grid-template-columns: 1fr 2fr;
}

使用gap调整行列之间的间距 :它是grid-row-gapgrid-column-gap属性的简写属性。(gap 属性以前被称为 grid-gap)

css 复制代码
#container{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-template-rows: repeat(3,1fr);
  gap:20px;
/*   grid-row-gap: 20px;
  grid-column-gap: 20px; */
}

场景4:有些列宽度不固定

minmax():宽度范围在最小值与最大值之间

css 复制代码
#container{
  display: grid;
  grid-template-columns: 1fr 1fr minmax(200px, 1fr);//第三列宽不小于200px,不大于1fr。
}

auto:表示由浏览器自己决定长度

css 复制代码
#container{
  display: grid;
  grid-template-columns: 50px auto 100px// 只固定1 3列
}

实用工具:css 网格布局在线生成

CSS Grid Generator

自定义行列数,可视化框选区域,可一键生成css代码:


在线运行示例
MDN:Grid介绍
阮一峰:CSS Grid 网格布局教程

相关推荐
快乐肚皮9 小时前
一文了解XSS攻击:分类、原理与全方位防御方案
java·前端·xss
保护我方头发丶10 小时前
ESP-wifi-蓝牙
前端·javascript·数据库
想学后端的前端工程师10 小时前
【Flutter跨平台开发实战指南:从零到上线-web技术栈】
前端·flutter
老王Bingo10 小时前
Qwen Code + Chrome DevTools MCP,让爬虫、数据采集、自动化测试效率提升 100 倍
前端·爬虫·chrome devtools
董世昌4110 小时前
什么是扩展运算符?有什么使用场景?
开发语言·前端·javascript
Yaru1111 小时前
Vue 3.6 预览版特性
javascript·vue.js
来杯三花豆奶11 小时前
Vue 3.0 Mixins 详解:从基础到迁移的全面指南
前端·javascript·vue.js
想学后端的前端工程师11 小时前
【React性能优化实战指南:从入门到精通-web技术栈】
前端·react.js·性能优化
白兰地空瓶11 小时前
React Hooks 深度理解:useState / useEffect 如何管理副作用与内存
前端·react.js
cike_y11 小时前
JSP内置对象及作用域&双亲委派机制
java·前端·网络安全·jsp·安全开发