小码哥的IT人生

CSS grid-auto-flow 属性 详解

css3基础 2022-07-14 16:28:23小码哥的IT人生shichen

CSS grid-auto-flow 属性

定义和用法

grid-auto-flow 属性控制自动放置的项目如何插入网格中。

另请参阅:

CSS 教程:CSS 网格布局

实例

例子 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

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024