CSS Grid 网格布局简要说明

grid网格布局,是一个二维系统,可以像表格一样将页面容器分割成一块一块的区域,定义子元素的排布和位置。

简单使用: 对父元素设置dispay:grid ;grid-template-colums和grid-template-rows来设置几行几列

1. grid-template-columns/grid-template-rows属性

使用以空格分隔来定义网格的行和列,它们之间的空格表示网格线

复制代码
.container{
       display:grid;
       grid-template-columns:  50px auto 50px ;
       grid-template-rows: 25% 100px auto;
}

上面代码设置的是一个三行三列的网格,具体行高和列宽即为设置的值

2 fr属性

fr单元等分网格容器剩余可用空间来设置网络的大小

css 复制代码
.container{
	grid-complate-columns: 1fr 1fr 1fr;
}

上面代码将每个网格项设置为网格容器宽度的三分之一:

3 grid-template-areas属性

grid-area属性可以定义网络模板,通过引用grid-area属性指定的网格区域的名称来定义网络模板,重复网格区域的名称会使内容扩展到这些单元格。

grid-area-name:由网格项grid-area指定网格区域的名称

.:代表空网格单元

none:不定义网格区域

css 复制代码
.area-a{
	grid-area: head;
}
.area-b{
	grid-area: body;
}
.area-c {
	grid-area: sidebar;
}
.area-d {
	grid-area: foot;
}
.container{
	grid-template-columns: 50px 50px 50px 50px;
	grid-template-rows: auto;
	grid-template-areas:
		"head head head head"
		"body body . sidebar"
		"foot foot foot foot";
}

上面代码创建如下网格:


| head | head | head | head |


| body | empty----grid | side |


| foot | foot | foot | foot |


4 grid-template属性

grid-template-columns、grid-template-rows、grid-template-areas的简写

与flex区别

  1. flex是一维布局,适合做局部布局,比如导航栏组件。
  2. grid是二维布局,通常用于整个页面的规划。
  3. grid适合框架布局,flex适合细节布局
相关推荐
涛涛ing12 分钟前
Navigation API正式Baseline:那个让无数前端头疼的History API,终于可以退休了
前端
Hilaku19 分钟前
为什么我劝应届生不要去创业公司写前端?
前端·javascript·程序员
郑州光合科技余经理22 分钟前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程
data analyse 45636 分钟前
前端自建访问统计,访客标识怎么设计才稳?Cookie、本地存储与设备指纹的取舍
前端·数据分析
终端安全笔记41 分钟前
配置锁状态那一栏查的是什么:报告里几项各自指向什么风险
android·前端·安全·ios
恋猫de小郭1 小时前
Kotlin Toolchain 0.13,JetBrains 推荐 KMP 都切换到到全新工具链
android·前端·flutter
我是人✓1 小时前
Java面向对象核心特性深度解析
java·前端·算法
晓得迷路了1 小时前
栗子前端技术周刊第 149 期 - Vite+ 1.0、Preact 11、Next.js 16.4...
前端·javascript·react.js
IT_陈寒1 小时前
为什么我的Vue组件总是莫名其妙更新?
前端·人工智能·后端
狂师1 小时前
2026年APP自动化测试工具大全,12款主流工具一次看懂
前端·开源·测试