- CSS 教程
- CSS - 教程
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 包含
- CSS - 度量单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图像
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - border-block 属性
- CSS - 边框内联
- CSS - 边距
- CSS - 列表
- CSS - Padding 属性
- CSS - 光标
- CSS - 轮廓
- CSS - 维度
- CSS - 滚动条
- CSS - 内联块
- CSS - 下拉列表
- CSS - visibility 属性
- CSS - Overflow 属性
- CSS - 清除修复
- CSS - float(浮点)
- CSS - 箭头
- CSS - resize 属性
- CSS - quotes 属性
- CSS - order 属性
- CSS - Position 属性
- CSS - hypens 属性
- CSS - :hover(悬停)
- CSS - display(显示)
- CSS - focus 属性
- CSS - zoom(缩放)
- CSS - translate 属性
- CSS - Height 属性
- CSS - hyphenate-character 属性
- CSS - Width 属性
- CSS - opacity 属性
- CSS - z-index 属性
- CSS - bottom 属性
- CSS - 导航栏
- CSS - 覆盖
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - Atrribute 选择器属性
- CSS - 运算器
- CSS - root
- CSS - 盒子模型
- CSS - 计数器
- CSS - Clip (Obsolete) 属性
- CSS - writing-mode 属性
- CSS - Unicode-bidi 属性
- CSS - min-content 属性
- CSS - 全部
- CSS - inset 属性
- CSS - isolation 属性
- CSS - overscroll-behavior 属性
- CSS - justify-items 属性
- CSS - justify-self 属性
- CSS - tab-size 属性
- CSS - pointer-event 属性
- CSS - place-content 属性
- CSS - place-items 属性
- CSS - place-self 属性
- CSS - max-block-size 属性
- CSS - min-block-size 属性
- CSS - mix-blend-mode 属性
- CSS - max-inline-size 属性
- CSS - min-inline-size 属性
- CSS - offset 属性
- CSS - accent-color 属性
- CSS - user-select 属性
- CSS 高级
- CSS - grid 属性
- CSS - Grid 布局
- CSS - flexbox
- CSS - vertical-align 属性
- css - positioning
- css - layers
- css - pseudo_classes
- CSS - 伪元素
- CSS - @ 规则
- CSS 滤镜 - text-effect 属性
- CSS 分页媒体
- CSS 打印
- CSS - 布局
- CSS - 验证
- CSS - 图像精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS - 圆角
- CSS - 边框图像
- CSS - 多种背景
- CSS - 渐变
- CSS - box-shadow 属性
- CSS - box-decoration-break 属性
- CSS - caret-color 属性
- CSS - text-shadow 属性
- CSS - 2D 转换
- CSS - 3D 变换
- CSS - transition 属性
- CSS - 动画
- CSS - 多列布局
- CSS - 盒子大小调整
- CSS - 工具提示
- CSS - buttons
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 值函数
- CSS - 数学函数
- CSS - Mask 属性
- CSS - shape-outside 属性
- CSS - 样式图像
- CSS - 特异性
- CSS - 自定义属性
- CSS 响应式
- CSS - 响应式网页设计 (RWD)
- CSS - 响应式设计视口
- CSS - 响应式网格视图
- CSS - 响应式媒体查询
- CSS - 响应式图像
- CSS - 响应式视频
- CSS - 响应式框架
- CSS 引用
- CSS - 所有属性列表
- CSS - 颜色引用
- CSS - 浏览器支持参考
- CSS - 网页字体
- CSS 工具
- CSS - PX 到 EM 的转换
CSS - grid-area 属性
CSS grid-area 是一个简写属性,用于定义网格布局中网格项的位置和大小。通过使用 grid-template-areas 属性在网格容器中定义命名网格区域来创建网格区域。
grid-area 属性是以下与网格相关的各个属性的简写:
使用命名网格区域时,将自动生成隐式命名行。如果使用 grid-area: fooarea;,则网格项将放置在名为 fooarea 的网格区域的开头或结尾,除非您已经为 fooarea 的开始或结束定义了特定行。
- auto - 它自动确定网格项在网格布局中的位置,或默认为跨度为 1。
- <custom-ident> − 如果有一行标记为 <custom-ident>-start 或 <custom-ident>-end,则网格项将沿该行定位。
- <integer> && <custom-ident>? − 如果给出了名称,则仅考虑具有该名称的行。如果具有该名称的线不足,则将处理所有网格线,就好像它们具有该名称一样,以确定正确的位置。<integer>值为 0 是无效的。
- span && [ <integer> || <custom-ident> ] − 当名称被指定为自定义标识时,只有具有该名称的行才会被考虑。如果具有该名称的行数不足,我们将考虑网格相关侧的所有网格线都具有该名称,以便进行计数。如果未指定 <integer>,则默认值为 1。不允许使用负数或 0。
适用于
网格项和绝对定位的框,其包含块是网格容器。
DOM 语法
object.style.gridArea = "auto|<custom-ident>|<integer> && <custom-ident>?|span && [ <integer> || <custom-ident> ]";
要记住的一点
- 当指定了四个网格区域值时,行和列的开始和结束位置由 grid-row-start、grid-column-start、grid-row-end 和 grid-column-end 确定。
- 如果未指定 grid-column-end,则当 grid-column-start 为 <custom-ident>时,将 grid-column-end 设置为 auto。
- 如果未指定 grid-row-end,则 grid-row-end 设置为 auto,除非 grid-row-start 是 <custom-ident>。
- 如果未指定 grid-column-start,则将 grid-row-start 设置为 <custom-ident>,并将所有四个长指分配给该值。否则,将设置自动值。
- grid-area 可以设置为 <custom-ident>作为区域名称,从而更轻松地放置 grid-template-areas。
CSS grid-area - 自动值
以下示例演示了 grid-area: auto 属性自动确定此网格项在网格中可用空间上的位置 :
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: repeat(3, 100px);
grid-template-rows: repeat(2, 50px);
grid-gap: 10px;
}
.grid-container > div {
background-color: red;
color: white;
padding: 10px;
text-align: center;
}
.grid-item {
grid-area: auto;
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid Item 1</div>
<div>Grid Item 2</div>
<div class="grid-item">Grid Auto Item 3</div>
<div>Grid Item 4</div>
<div>Grid Item 5</div>
<div>Item 6</div>
</div>
</body>
</html>
CSS 网格区域 - <custom-ident>
网格布局有三行和四列,分别命名为 row1、row2、row3 和 col1、col2、col3、col4、col5。
以下示例演示了 grid-area: row1 / third / row3 / last; 属性时,第二个网格项跨越第一行和第三行之间的网格区域,从名为 col3 的列开始到名为 col5 的列 :
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-rows: [row1] 50px [row2] 50px [row3] 50px;
grid-template-columns: [col1] 1fr [col2] 1fr [col3] 1fr [col4] 1fr [col5];
gap: 10px;
background-color: lightgreen;
padding: 5px;
}
.grid-container > div {
background-color: red;
padding: 10px;
text-align: center;
}
.grid-item {
grid-area: row1 / col3 / row3 / col5;
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid Item 1</div>
<div class="grid-item">Grid Item 2</div>
<div>Grid Item 3</div>
<div>Grid Item 4</div>
<div>Grid Item 5</div>
<div>Grid Item 6</div>
<div>Grid Item 7</div>
<div>Grid Item 8</div>
</div>
</body>
</html>
CSS grid-area - <integer> & & <custom-ident>?
网格布局有五行和四列(p、q 和 m、n)。
以下示例演示了格网面积:2 q / 1 n / 4 q / 3 n;- 这里,第二个网格项从第二行 (Q) 开始,从第一列 (N) 跨越到第三列 (N)。:
下图演示了带有线条的网格布局:
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-rows: [p] 50px [q] 50px [q] 50px [q] 50px [q];
grid-template-columns: [m] 200px [n] 200px [n] 200px [n];
gap: 10px;
background-color: lightgreen;
padding: 5px;
}
.grid-container > div {
background-color: red;
padding: 10px;
text-align: center;
}
.grid-item {
grid-area: 2 q/ 1 n / 4 q / 3 n;
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid Item 1</div>
<div class="grid-item">Grid Item 2</div>
<div>Grid Item 3</div>
<div>Grid Item 4</div>
<div>Grid Item 5</div>
<div>Grid Item 6</div>
<div>Grid Item 7</div>
<div>Grid Item 8</div>
</div>
</body>
</html>
CSS grid-area - 跨度值
以下示例演示了 grid-area: 2 / 2 / span 2 / span 2 属性,第二个网格项从第二行和第二列开始,跨越两行两列 :
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template: auto auto;
color: white;
text-align: center;
width: 300px;
background-color: lightgreen;
}
.grid-container > div {
background-color: red;
border: 2px solid lightgreen;
padding: 10px;
}
.grid-item2 {
grid-area: 2 / 2 / span 2 / span 2;
}
</style>
</head>
<body>
<div class="grid-container">
<div>Grid item 1</div>
<div class="grid-item2">Grid item 2</div>
<div>Grid item 3</div>
<div>Grid item 4</div>
<div>Grid item 5</div>
<div>Grid item 6</div>
</div>
</body>
</html>