网格布局 - CSS(层叠样式表) 编辑
CSS 网格布局擅长于将一个页面划分为几个主要区域,以及定义这些区域的大小、位置、层次等关系(前提是HTML生成了这些区域)。
像表格一样,网格布局让我们能够按行或列来对齐元素。 然而在布局上,网格比表格更可能做到或更简单。 例如,网格容器的子元素可以自己定位,以便它们像CSS定位的元素一样,真正的有重叠和层次。
基本示例
以下示例显示了一个三列轨道的网格,其中创建的行最小为100像素,最大为自动。条目使用线性定位放置在网格上。
* {box-sizing: border-box;}
.wrapper {
max-width: 940px;
margin: 0 auto;
}
.wrapper > div {
border: 2px solid rgb(233,171,88);
border-radius: 5px;
background-color: rgba(233,171,88,.5);
padding: 1em;
color: #d9480f;
}
HTML
<div class="wrapper">
<div class="one">One</div>
<div class="two">Two</div>
<div class="three">Three</div>
<div class="four">Four</div>
<div class="five">Five</div>
<div class="six">Six</div>
</div>
CSS
.wrapper {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-gap: 10px;
grid-auto-rows: minmax(100px, auto);
}
.one {
grid-column: 1 / 3;
grid-row: 1;
}
.two {
grid-column: 2 / 4;
grid-row: 1 / 3;
}
.three {
grid-row: 2 / 5;
grid-column: 1;
}
.four {
grid-column: 3;
grid-row: 3;
}
.five {
grid-column: 2;
grid-row: 4;
}
.six {
grid-column: 3;
grid-row: 4;
}
参考
CSS属性
grid-template-columns
grid-template-rows
grid-template-areas
grid-template
grid-auto-columns
grid-auto-rows
grid-auto-flow
grid
grid-row-start
grid-column-start
grid-row-end
grid-column-end
grid-row
grid-column
grid-area
grid-row-gap
grid-column-gap
grid-gap
CSS函数
CSS 数据类型
术语表
- 网格(Grid)
- 网格线(Grid lines)
- 网格轨道(Grid tracks)
- 网格单元格(Grid cell)
- 网格区域(Grid areas)
- 网格间隙(Gutters)
- 网格轴(Grid Axis)
- 网格行(Grid row)
- 网格列(Grid column)
指南
- Basic concepts of Grid Layout
- Relationship of Grid Layout to other layout methods
- Layout using named grid lines
- Grid template areas
- Layout using named grid lines
- Auto-placement in CSS Grid Layout
- Box alignment in CSS Grid Layout
- CSS Grid, Logical Values and Writing Modes
- CSS Grid Layout and accessibility
- CSS Grid and progressive enhancement
- Realising common layouts using CSS Grid
外部资源
- Examples from Jen Simmons
- Grid by Example - a collection of usage examples and video tutorials
- Codrops Grid Reference
- Firefox DevTools CSS Grid Inspector
- CSS Grid Playground
- Grid Garden - 一个学习CSS 网格的游戏
- https://css-tricks.com/snippets/css/complete-guide-grid/
- https://css-tricks.com/snippets/css/css-grid-starter-layouts/
- https://css-tricks.com/getting-started-css-grid/
规范
Specification | Status | Comment |
---|---|---|
CSS Grid Layout Module Level 2 | Working Draft | 增加subgrids |
CSS Grid Layout | Candidate Recommendation | 初始版本 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论