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 网格布局教程

相关推荐
牧羊狼的狼18 分钟前
React 中的 HOC 和 Hooks
前端·javascript·react.js·hooks·高阶组件·hoc
知识分享小能手2 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
魔云连洲2 小时前
深入解析:Vue与React的异步批处理更新机制
前端·vue.js·react.js
mCell2 小时前
JavaScript 的多线程能力:Worker
前端·javascript·浏览器
超级无敌攻城狮4 小时前
3 分钟学会!波浪文字动画超详细教程,从 0 到 1 实现「思考中 / 加载中」高级效果
前端
excel5 小时前
用 TensorFlow.js Node 实现猫图像识别(教学版逐步分解)
前端
前端工作日常5 小时前
我学习到的Vue2.6的prop修饰符
vue.js
gnip5 小时前
JavaScript事件流
前端·javascript
小菜全5 小时前
基于若依框架Vue+TS导出PDF文件的方法
javascript·vue.js·前端框架·json
赵得C5 小时前
【前端技巧】Element Table 列标题如何优雅添加 Tooltip 提示?
前端·elementui·vue·table组件