一个网格容器包含网格项目。
默认情况下,容器的每一行中的每一列都有一个网格项,但您可以设置网格项的样式,以便它们跨越多列和/或多行。
这个grid-column
属性定义要在哪一列上放置项目。
您可以定义项目的开始位置和结束位置。
笔记:这个grid-column
property 是属性的简写grid-column-start
和grid-column-end
特性。
要放置物品,您可以参考行号,或使用关键字 "span" 定义项目将跨越多少列。
这个grid-row
属性定义将项目放置在哪一行。
您可以定义项目的开始位置和结束位置。
笔记:这个grid-row
property 是属性的简写grid-row-start
和grid-row-end
特性。
要放置物品,您可以参考行号,或使用关键字 "span" 定义项目将跨越多少行:
这个grid-area
属性可以用作以下属性的简写属性grid-row-start
,grid-column-start
,grid-row-end
和grid-column-end
特性。
这个grid-area
属性还可用于为网格项指定名称。
命名的网格项可以通过grid-template-areas
网格容器的属性。
Item1 的名称为"myArea",并跨越五列网格布局中的所有五列:
.item1 {
grid-area: myArea;
}
.grid-container {
grid-template-areas: 'myArea myArea myArea myArea myArea';
}
每行由撇号 (' ') 定义
每行中的列在撇号内定义,并用空格分隔。
笔记:句点符号表示没有名称的网格项。
让 "myArea" 在五列网格布局中跨越两列(句点符号代表没有名称的项目):
.item1 {
grid-area: myArea;
}
.grid-container {
grid-template-areas: 'myArea myArea . . .';
}
要定义两行,请在另一组撇号内定义第二行的列:
让 "item1" 跨越两列和两行:
.grid-container {
grid-template-areas: 'myArea myArea . . .' 'myArea myArea . . .';
}
命名所有项目,并制作一个现成的网页模板:
.item1 { grid-area: header; }
.item2 { grid-area: menu; }
.item3 { grid-area: main; }
.item4 { grid-area: right; }
.item5 { grid-area: footer; }
.grid-container {
grid-template-areas:
'header header header header header header'
'menu main main main right right'
'menu footer footer footer footer footer';
}
网格布局允许我们将项目放置在我们喜欢的任何位置。
HTML 代码中的第一项不必显示为网格中的第一项。
.item1 { grid-area: 1 / 3 / 2 / 4; }
.item2 { grid-area: 2 / 3 / 3 / 4; }
.item3 { grid-area: 1 / 1 / 2 / 2; }
.item4 { grid-area: 1 / 2 / 2 / 3; }
.item5 { grid-area: 2 / 1 / 3 / 2; }
.item6 { grid-area: 2 / 2 / 3 / 3; }
您可以使用媒体查询重新排列某些屏幕尺寸的顺序:
@media only screen and (max-width: 500px) {
.item1 { grid-area: 1 / span 3 / 2 / 4; }
.item2 { grid-area: 3 / 3 / 4 / 4; }
.item3 { grid-area: 2 / 1 / 3 / 2; }
.item4 { grid-area: 2 / 2 / span 2 / 3; }
.item5 { grid-area: 3 / 1 / 4 / 2; }
.item6 { grid-area: 2 / 3 / 3 / 4; }
}
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!