CSS grid-auto-flow 属性 详解
css3基础 2022-07-14 16:28:23小码哥的IT人生shichen
CSS grid-auto-flow 属性
实例
例子 1
逐列插入自动放置的项目:
.grid-container {
display: grid;
grid-auto-flow: column;
}
完整实例【亲自试一试】:
<!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>
<h1>grid-auto-flow 属性</h1>
<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>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
例子 2
通过添加 "dense" 值来填充网格中的所有孔:
.grid-container {
display: grid;
grid-auto-flow: row 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>
<h1>grid-auto-flow 属性</h1>
<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>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
CSS 语法
grid-auto-flow: row|column|dense|row dense|column dense;
属性值
值 | 描述 |
---|---|
row | 默认值。通过填充每一行来放置项目。 |
column | 通过填充每一列来放置项目。 |
dense | 放置项目以填充网格中的任何孔。 |
row dense | 通过填充每一行来放置项目,并填充网格中的任何孔。 |
column dense | 通过填充每一列来放置项目,并填充网格中的任何孔。 |
技术细节
默认值: | row |
---|---|
继承: | 否 |
动画制作: | 支持。请参阅:动画相关属性。 |
版本: | CSS Grid Layout Module Level 1 |
JavaScript 语法: | object.style.gridAutoFlow="row dense" |
浏览器支持
表格中的数字注明了完全支持该属性的首个浏览器版本。
Chrome | IE / Edge | Firefox | Safari | Opera |
---|---|---|---|---|
57 | 16 | 52 | 10 | 44 |