CSS grid-auto-flow 属性
CSS grid-auto-flow
属性控制着自动布局算法怎样运作,精确指定在网格中被自动布局的元素怎样排列。
实例
逐列插入自动放置的项目:
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-template-rows: auto auto;
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<h2>grid-auto-flow 属性</h2>
<p><em>grid-auto-flow</em> 属性控制如何在网格中插入自动放置的项目。</p>
<p>这个网格有三列两行。</p>
<h2>grid-auto-flow: column</h2>
<p>逐列插入项目:</p>
<div class="grid-container" style="grid-auto-flow: column;">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
</div>
<h2>grid-auto-flow: row</h2>
<p>逐行插入项目:</p>
<div class="grid-container" style="grid-auto-flow: row;">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
</div>
</body>
</html>
定义和用法
grid-auto-flow
属性控制自动放置的项目如何插入网格中。
默认值: | row |
---|---|
继承: | 否 |
动画制作: | 支持。请参阅:动画相关属性。 |
版本: | CSS 网格布局模块 1 级 |
JavaScript 语法: | object.style.gridAutoFlow="row dense" |
浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
属性 | |||||
---|---|---|---|---|---|
grid-auto-flow | 57 | 16 | 52 | 10 | 44 |
CSS 语法
grid-auto-flow: row|column|dense|row dense|column dense;
属性值
值 | 描述 |
---|---|
row | 默认值。通过填充每一行来放置项目。 |
column | 通过填充每一列来放置项目。 |
dense | 放置项目以填充网格中的任何孔。 |
row dense | 通过填充每一行来放置项目,并填充网格中的任何孔。 |
column dense | 通过填充每一列来放置项目,并填充网格中的任何孔。 |
更多实例
通过添加 "dense" 值来填充网格中的所有空隙:
<!DOCTYPE html>
<html>
<head>
<style>
.item3 { grid-column: auto / span 2; }
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
grid-template-rows: auto auto;
grid-gap: 10px;
background-color: #2196F3;
padding: 10px;
}
.grid-container > div {
background-color: rgba(255, 255, 255, 0.8);
text-align: center;
padding: 20px 0;
font-size: 30px;
}
</style>
</head>
<body>
<h2>grid-auto-flow 属性</h2>
<p><em>grid-auto-flow</em> 属性控制如何在网格中插入自动放置的项目。</p>
<p>这个网格有三列两行。</p>
<p>"item3" 横跨两列,那其他项在哪里呢?</p>
<h2>grid-auto-flow: row</h2>
<div class="grid-container" style="grid-auto-flow: row;">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
</div>
<h2>grid-auto-flow: row dense</h2>
<p>"dense" 值会填充网格中的空隙:</p>
<div class="grid-container" style="grid-auto-flow: row dense;">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
</div>
</body>
</html>
相关页面
CSS 教程:CSS 网格布局