Grid Lines - 术语表 编辑
使用Grid布局在显式网格中定义轨道的同时会创建网格线。在下面的例子中,有一个三列两行的网格。它给了我们4条列线和3条行线。
* {box-sizing: border-box;}
.wrapper {
border: 2px solid #f76707;
border-radius: 5px;
background-color: #fff4e6;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
}
.wrapper > div {
border: 2px solid #ffa94d;
border-radius: 5px;
background-color: #ffd8a8;
padding: 1em;
color: #d9480f;
}
<div class="wrapper">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
</div>
.wrapper {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 100px 100px;
}
网格线可以用它们的编号来寻址。在从左到右的语言比如英语中,列线1将位于网格的左侧,行线1将位于其顶部。线编号遵循文档的写入模式,因此在从右到左的语言中,列线1行将位于网格的右侧。下面的图片展示了该网格的线编号,假设语言是从左到右的。
当创建隐式轨道去支持显式网格外的内容时,网格线也会在隐式网格中被创建,但是这些网格线不能通过编号来寻址。
按网格线编号将项目放置到网格上
创建一个网格后,可以通过网格线编号将项目放置到该网格上。在下面的例子中,项目定位从列线1到列线3,从行线1到行线3。
* {box-sizing: border-box;}
.wrapper {
border: 2px solid #f76707;
border-radius: 5px;
background-color: #fff4e6;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
}
.wrapper > div {
border: 2px solid #ffa94d;
border-radius: 5px;
background-color: #ffd8a8;
padding: 1em;
color: #d9480f;
}
<div class="wrapper">
<div class="item">Item</div>
</div>
.wrapper {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: 100px 100px;
}
.item {
grid-column-start: 1;
grid-column-end: 3;
grid-row-start: 1;
grid-row-end: 3;
}
命名网格线
在显式网格中创建的网格线可以被命名,在轨道大小信息之前或之后的方括号中命名。当放置一个项目时,你可以使用这些名称代替编号,如下所示。
* {box-sizing: border-box;}
.wrapper {
border: 2px solid #f76707;
border-radius: 5px;
background-color: #fff4e6;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 100px);
}
.wrapper > div {
border: 2px solid #ffa94d;
border-radius: 5px;
background-color: #ffd8a8;
padding: 1em;
color: #d9480f;
}
<div class="wrapper">
<div class="item">Item</div>
</div>
.wrapper {
display: grid;
grid-template-columns: [col1-start] 1fr [col2-start] 1fr [col3-start] 1fr [cols-end];
grid-template-rows: [row1-start] 100px [row2-start] 100px [rows-end];
}
.item {
grid-column-start: col1-start;
grid-column-end: col3-start;
grid-row-start: row1-start;
grid-row-end: rows-end;
}
了解更多
属性参考
grid-template-columns
grid-template-rows
grid-column-start
grid-column-end
grid-column
grid-row-start
grid-row-end
grid-row
扩展阅读
- CSS Grid Layout Guide: Basic concepts of grid layout
- CSS Grid Layout Guide: Line-based placement with CSS Grid
- CSS Grid Layout Guide: Layout using named grid lines
- CSS Grid Layout Guide: CSS Grids, Logical Values and Writing Modes
- Definition of Grid Lines in the CSS Grid Layout specification
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论