CSS flex-direction 属性

CSS 参考手册 CSS 参考手册


设置 <div> 元素内弹性盒元素的方向为相反的顺序:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      width: 400px;
      height: 400px;
      border: 1px solid #c3c3c3;
      display: -webkit-flex;
      /* Safari */
      -webkit-flex-direction: row-reverse;
      /* Safari 6.1+ */
      display: flex;
      flex-direction: row-reverse;
    }

    #main div {
      width: 50px;
      height: 50px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

  <p><b>注意:</b> Internet Explorer 10 及更早版本浏览器不支持 flex-direction 属性。</p>
  <p><b>注意:</b> Safari 6.1 及更新版本通过 -webkit-flex-direction 属性支持该属性。</p>

</body>
</html>

尝试一下 »


浏览器支持

表格中的数字表示支持该属性的第一个浏览器的版本号。

紧跟在 -webkit-, -ms- 或 -moz- 后的数字为支持该前缀属性的第一个版本。

属性
flex-direction 29.0
21.0 -webkit-
11.0
10.0 -ms-
28.0
18.0 -moz-
9.0
6.1 -webkit-
17.0

定义和用法

flex-direction 属性规定灵活项目的方向。

注意:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作用。

<!DOCTYPE html>
<html>
<head>
  <style>
    #main {
      width: 350px;
      height: 350px;
      border: 1px solid #c3c3c3;
      display: flex;
      flex-direction: row;
    }

    #main div {
      width: 50px;
      height: 50px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

  <p>点击“尝试一下”按钮设置 flexDirection 属性的值为 "column-reverse"。</p>

  <button onclick="myFunction()">尝试一下</button>

  <script>
    function myFunction() {
      document.getElementById("main").style.flexDirection = "column-reverse";
    }
  </script>

  <p><b>注意:</b>Internet Explorer 和 Safari 不支持 flexDirection 属性。</p>

</body>
</html>

尝试一下 »

默认值: row
继承:
可动画化: 否。请参阅 可动画化(animatable)
版本: CSS3
JavaScript 语法: object.style.flexDirection="column-reverse" - 尝试一下 -

CSS 语法

flex-direction: row|row-reverse|column|column-reverse|initial|inherit;

属性值

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      display: flex;
      flex-direction: row;
    }

    #main div {
      width: 40px;
      height: 40px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

</body>
</html>

尝试一下 »

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      display: flex;
      flex-direction: row-reverse;
    }

    #main div {
      width: 40px;
      height: 40px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

</body>
</html>

尝试一下 »

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      display: flex;
      flex-direction: column;
    }

    #main div {
      width: 40px;
      height: 40px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

</body>
</html>

尝试一下 »

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      display: flex;
      flex-direction: column-reverse;
    }

    #main div {
      width: 40px;
      height: 40px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

</body>
</html>

尝试一下 »

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    #main {
      display: flex;
      flex-direction: initial;
    }

    #main div {
      width: 40px;
      height: 40px;
    }
  </style>
</head>
<body>

  <div id="main">
    <div style="background-color:coral;">A</div>
    <div style="background-color:lightblue;">B</div>
    <div style="background-color:khaki;">C</div>
    <div style="background-color:pink;">D</div>
    <div style="background-color:lightgrey;">E</div>
    <div style="background-color:lightgreen;">F</div>
  </div>

</body>
</html>

尝试一下 »

描述 实例
row 默认值。灵活的项目将水平显示,正如一个行一样。 尝试一下 »
row-reverse 与 row 相同,但是以相反的顺序。 尝试一下 »
column 灵活的项目将垂直显示,正如一个列一样。 尝试一下 »
column-reverse 与 column 相同,但是以相反的顺序。 尝试一下 »
initial 设置该属性为它的默认值。请参阅 initial 尝试一下 »
inherit 从父元素继承该属性。请参阅 inherit

相关文章

CSS 参考手册:flex 属性

CSS 参考手册:flex-basis 属性

CSS 参考手册:flex-flow 属性

CSS 参考手册:flex-grow 属性

CSS 参考手册:flex-shrink 属性

CSS 参考手册:flex-wrap 属性


CSS 参考手册 CSS 参考手册