网格线与区域
CSS Grid 中,网格线是定义网格单元边界的线,网格区域是由多条网格线围成的矩形区域。
1. 网格线编号
网格线从 1 开始编号,横向为列线,纵向为行线。
例如:
grid-column: 1 / 3; /* 从第1条列线开始,到第3条列线结束(不包括第3条线所在列) */
grid-row: 2 / 4; /* 从第2条行线开始,到第4条行线结束 */
2. 命名网格线
可以使用方括号为网格线命名,方便布局。
grid-template-columns: [start] 100px [line2] 1fr [end];
grid-template-rows: [top] 50px [bottom];
然后项目可以用命名定位:
grid-column: start / line2;
grid-row: top / bottom;
3. 网格区域(Grid Area)
通过 grid-template-areas 定义命名区域,直观定义布局。
grid-template-areas:
"header header header"
"sidebar main main"
"footer footer footer";
给子元素赋值区域名:
grid-area: header;
网格线与区域示例
源码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>Grid 网格线与区域示例</title>
<style>
.grid-container {
display: grid;
grid-template-columns: [start] 100px [line2] 1fr [end];
grid-template-rows: [top] 50px [middle] 150px [bottom];
grid-template-areas:
"header header"
"sidebar main";
gap: 10px;
background-color: #f3e5f5;
padding: 10px;
border: 2px solid #7b1fa2;
}
.header {
grid-area: header;
background-color: #ba68c8;
color: white;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
border-radius: 6px;
}
.sidebar {
grid-area: sidebar;
background-color: #ce93d8;
color: white;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
border-radius: 6px;
}
.main {
grid-area: main;
background-color: #ab47bc;
color: white;
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
border-radius: 6px;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="header">头部区域</div>
<div class="sidebar">侧边栏</div>
<div class="main">主内容区</div>
</div>
</body>
</html>
相关内容
- 什么是 CSS? CSS(层叠样式表)是一种用来描述网页外观样式的语言。它定义了如何为HTML元素设置颜色、字体、布局等视觉效果,使网页更加美观和易于阅读。
- CSS 的作用与工作原理 介绍CSS的主要作用及其工作原理,帮助理解如何通过样式表控制网页元素的外观和布局,实现内容与表现的分离。
- CSS 的引入方式 介绍CSS的三种主要引入方式:内联样式、内部样式表和外部样式表,帮助开发者选择合适的方法应用样式。
- 基本语法结构 介绍CSS的基本语法结构,包括选择器、属性和属性值的组成方式,帮助理解如何编写有效的样式规则。
- 注释的使用方式 介绍CSS中注释的写法和作用,帮助开发者在样式代码中添加说明,提高代码可读性和维护性。
- 基本选择器 介绍CSS中最基础的三种选择器:元素选择器、类选择器和ID选择器,是学习CSS样式编写的基础。