CSS 教程

CSS 教程 CSS 简介 CSS 语法 CSS 选择器 CSS 如何使用 CSS 注释 CSS 颜色 CSS 背景 CSS 边框 CSS 外边距 CSS 内边距 CSS 高度/宽度 CSS Box 模型 CSS 轮廓 CSS 文本 CSS 字体 CSS 图标 CSS 链接 CSS 列表 CSS 表格 CSS Display CSS Max-width CSS 定位 CSS 溢出 CSS 浮动 CSS Inline-block CSS 对齐 CSS 组合器 CSS 伪类 CSS 伪元素 CSS 不透明度 CSS 导航栏 CSS 下拉菜单 CSS 图片库 CSS 图像拼合技术 CSS 属性选择器 CSS 表单 CSS 计数器 CSS 网站布局 CSS 单位 CSS 特异性

CSS3 高级教程

CSS3 高级教程 CSS3 简介 CSS3 圆角 CSS3 边框图像 CSS3 多重背景 CSS3 颜色 CSS3 渐变 CSS3 阴影 CSS3 文本效果 CSS3 网络字体 CSS3 2D 转换 CSS3 3D 转换 CSS3 过渡 CSS3 动画 CSS3 提示框 CSS3 样式图像 CSS3 object-fit CSS3 按钮 CSS3 分页 CSS3 多列 CSS3 用户界面 CSS3 变量 CSS3 盒子大小 CSS3 媒体查询 CSS3 媒体查询实例 CSS3 弹性盒子

CSS 响应式

RWD 简介 RWD 视口 RWD 网格视图 RWD 媒体查询 RWD 图像 RWD 视频 RWD 框架 RWD 模板

CSS 网格视图

Grid 网络简介 Grid 网格容器 Grid 网格项目

CSS 实例

CSS 模板 CSS 实例 CSS 测验 CSS 练习

CSS 参考手册

CSS 参考手册 CSS 浏览器支持 CSS 选择器 CSS 函数 CSS 网络安全字体 CSS 动画相关属性 CSS 单位 CSS PX-EM 单位转换 CSS 颜色 CSS 颜色值 CSS 默认值 CSS 实体 CSS 听觉


CSS 网格项目

1

2

3

4

5

亲自试一试 »


子元素(项目)

网格容器包含网格项目。

默认情况下,容器在每一行的每一列都有一个网格项目,但是您可以设置网格项目的样式,让它们跨越多个列和/或行。


grid-column 属性:

grid-column 属性定义将项目放置在哪一列上。

您可以定义项目的开始位置以及结束位置。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

注释: grid-column 属性是 grid-column-start 和 grid-column-end 属性的简写属性。

如需放置某个项目,您可以引用行号(line numbers),或使用关键字 "span" 来定义该项目将跨越多少列。

实例

使 "item1" 从第 1 列开始并在第 5 列之前结束:

.item1 {
  grid-column: 1 / 5;
}

亲自试一试 »

实例

使 "item1" 从第 1 列开始,并跨越 3 列:

.item1 {
  grid-column: 1 / span 3;
}

亲自试一试 »

实例

使 "item2" 从第 2 列开始,并跨越 3 列:

.item2 {
  grid-column: 2 / span 3;
}

亲自试一试 »


grid-row 属性:

grid-row 属性定义了将项目放置在哪一行。

您可以定义项目的开始位置以及结束位置。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

注释: grid-row 属性是 grid-row-start 和 grid-row-end 属性的简写属性。

如需放置项目,您可以引用行号,或使用关键字 "span" 定义该项目将跨越多少行:

实例

使 "item1" 在 row-line 1 开始,在 row-line 4 结束:

.item1 {
  grid-row: 1 / 4;
}

亲自试一试 »

实例

使 "item1" 从第 1 行开始并跨越 2 行:

.item1 {
  grid-row: 1 / span 2;
}

亲自试一试 »


grid-area 属性

grid-area 属性可以用作 grid-row-start、grid-column-start、grid-row-end 和 grid-column-end 属性的简写属性。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

实例

使 "item8" 从 row-line 1 和 column-line 2 开始,在 row-line 5 和 column line 6 结束:

.item8 {
  grid-area: 1 / 2 / 5 / 6;
}

亲自试一试 »

实例

使 "item8" 从 row-line 2 和 column-line 1 开始,并跨越 2 行和 3 列:

.item8 {
  grid-area: 2 / 1 / span 2 / span 3;
}

亲自试一试 »

命名网格项

grid-area 属性也可以用于为网格项目分配名称。

Header

Menu

Main

Right

Footer

可以通过网格容器的 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 代码中的第一项不必显示为网格中的第一项。

1

2

3

4

5

6

实例

.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; }
}

亲自试一试 »