hand
_1_12_220
4
返回栏目
0k
3k
5k
1k
2k
0.2k
2k
1k
2k
3k
2k
3k
2k
3k
3k
0.3k
0k
2k
0k
1k
0.1k
0k
0k
2k
2k
3k
0.2k
3k
0k
2k
2k
2k
3k
2k
2k
0k
4k
2k
2k
0k
3k
3k
2k
2k
2k
1k
3k
1k
3k
2k
1k
0.8k
2k
0k
2k
2k
2k
2k
3k
0.4k
4k
2k
5k
2k
3k
2k
3k
3k
4k
2k
3k
2k
3k
0.7k
2k
0.8k
3k
2k
4k
2k
2k
2k
2k
2k
3k
3k
3k
3k
4k
3k
3k
0k
2k
2k
0k
3k
2k
3k
1k
2k
2k
3k
3k
3k
3k
5k
3k
3k
3k
4k
3k
5k
4k
4k
4k
4k
1k
2k
2k
2k
2k
2k
2k
1k
2k
3k
3k
3k
3k
3k
2k
3k
4k
2k
2k
3k
5k
3k
3k
3k
4k
3k
3k
2k
3k
5k
4k
3k
4k
4k
2k
3k
3k
1k
3k
4k
4k
2k
2k
2k
3k
2k
4k
2k
4k
2k
4k
1k
2k
1k
2k
2k
1k
2k
2k
2k
2k
2k
2k
1k
1k
4k
3k
2k
2k
3k
3k
6k
2k
8k
3k
7k
2k
3k
3k
4k
3k
5k
4k
3k
3k
2k
2k
3k
3k
2k
2k
2k
3k
2k
6k
4k
4k
4k
4k
3k
3k
2k
4k
2k
3k
3k
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
0k
返回前端 - HTML5栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 18:03:32
在前端开发中,网格布局(Grid Layout)是 HTML5 引入的一种强大的布局模型,它能够轻松创建二维网格容器和项目。除了网格容器的属性,网格项目也有一系列独特的属性,这些属性可以帮助我们更精确地控制网格项目在网格中的位置、大小和对齐方式。下面我们就来详细介绍网格项目的属性。
grid-column-start
、grid-column-end
、grid-row-start
和 grid-row-end
这四个属性用于指定网格项目在网格中的位置。grid-column-start
和 grid-column-end
控制项目在列方向上的起始和结束位置,grid-row-start
和 grid-row-end
控制项目在行方向上的起始和结束位置。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.grid-container {
display: grid;
grid-template-columns: repeat(3, 100px);
grid-template-rows: repeat(3, 100px);
gap: 10px;
}
.grid-item {
background-color: lightblue;
border: 1px solid black;
}
.item1 {
grid-column-start: 1;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 2;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item item1">Item 1</div>
<div class="grid-item">Item 2</div>
<div class="grid-item">Item 3</div>
<div class="grid-item">Item 4</div>
<div class="grid-item">Item 5</div>
<div class="grid-item">Item 6</div>
<div class="grid-item">Item 7</div>
<div class="grid-item">Item 8</div>
<div class="grid-item">Item 9</div>
</div>
</body>
</html>
在这个例子中,.item1
从第一列开始,到第三列结束,从第一行开始,到第二行结束,因此它会跨越两列。
可以使用 grid-column
和 grid-row
来简写上述属性。例如:
.item1 {
grid-column: 1 / 3;
grid-row: 1 / 2;
}
grid-area
grid-area
是一个更强大的简写属性,它可以同时设置 grid-row-start
、grid-column-start
、grid-row-end
和 grid-column-end
。
.item1 {
grid-area: 1 / 1 / 2 / 3;
}
这里的顺序是 grid-row-start
/ grid-column-start
/ grid-row-end
/ grid-column-end
。
justify-self
和 align-self
justify-self
用于控制项目在网格单元格内的水平对齐方式,align-self
用于控制项目在网格单元格内的垂直对齐方式。
属性 | 取值 | 描述 |
---|---|---|
justify-self |
start |
项目左对齐 |
end |
项目右对齐 | |
center |
项目居中对齐 | |
stretch |
项目拉伸以填充单元格(默认值) | |
align-self |
start |
项目顶部对齐 |
end |
项目底部对齐 | |
center |
项目垂直居中对齐 | |
stretch |
项目拉伸以填充单元格(默认值) |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
.grid-container {
display: grid;
grid-template-columns: repeat(2, 100px);
grid-template-rows: repeat(2, 100px);
gap: 10px;
}
.grid-item {
background-color: lightblue;
border: 1px solid black;
}
.item1 {
justify-self: center;
align-self: center;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item item1">Item 1</div>
<div class="grid-item">Item 2</div>
<div class="grid-item">Item 3</div>
<div class="grid-item">Item 4</div>
</div>
</body>
</html>
在这个例子中,.item1
在单元格内水平和垂直都居中对齐。
place-self
place-self
是 align-self
和 justify-self
的简写属性,顺序是 align-self
/ justify-self
。
.item1 {
place-self: center center;
}
网格项目的属性为我们提供了丰富的控制手段,让我们能够更加灵活地布局网页。通过合理运用这些属性,我们可以创建出各种复杂而美观的布局。希望本文对你理解网格项目的属性有所帮助,快去实践一下吧!
前端 - HTML5
整章节共240节
快分享给你的小伙伴吧 ~