flex-direction属性是Flexible Box Layout模块的子属性。它建立了主轴,从而定义了flex项放置在flex容器中的方向。注:如果元素不是弹性盒对象的元素,则 flex-direction 属性不起作用。
语法:
flex-direction: row|row-reverse|column|column-reverse;
属性值:
row(默认值):与文本方向相同,用于指定项目具有正常的文本方向;它使项目按行的正常文本方向,水平显示,沿主轴线。
flex-direction: row ;
row-reverse:与文字方向相反,项目以相反的顺序(从右到左)连续显示,沿主轴线。
flex-direction: row-reverse ;
column:项目从上到下垂直显示。
flex-direction: column ;
column-reverse:项目从下到上垂直显示。
flex-direction: column-reverse ;
注意:row和row-reverse受flex容器的方向性影响。如果文本方向为ltr,则row表示从左到右的水平轴,row-reverse表示从右到左的反转;如果文本方向为rtl,则表示相反。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>empty-cell属性</title>
<style>
.flex-container {
padding: 0;
margin: 0;
list-style: none;
-ms-box-orient: horizontal;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
}
.row {
-webkit-flex-direction: row;
flex-direction: row;
}
.row-reverse {
-webkit-flex-direction: row-reverse;
flex-direction: row-reverse;
}
.row-reverse li {
background: gold;
}
.column {
-webkit-flex-direction: column;
flex-direction: column;
float: left;
}
.column li {
background: deepskyblue;
}
.column-reverse {
-webkit-flex-direction: column-reverse;
flex-direction: column-reverse;
float: right;
}
.column-reverse li {
background: lightgreen;
}
.flex-item {
background: tomato;
padding: 5px;
width: 50px;
height: 50px;
margin: 5px;
line-height: 50px;
color: white;
font-weight: bold;
font-size: 2em;
text-align: center;
}
</style>
</head>
<body>
<ul class="flex-container row">
<li class="flex-item">1</li>
<li class="flex-item">2</li>
<li class="flex-item">3</li>
<li class="flex-item">4</li>
<li class="flex-item">5</li>
</ul>
<ul class="flex-container row-reverse">
<li class="flex-item">1</li>
<li class="flex-item">2</li>
<li class="flex-item">3</li>
<li class="flex-item">4</li>
<li class="flex-item">5</li>
</ul>
<ul class="flex-container column">
<li class="flex-item">1</li>
<li class="flex-item">2</li>
<li class="flex-item">3</li>
<li class="flex-item">4</li>
<li class="flex-item">5</li>
</ul>
<ul class="flex-container column-reverse">
<li class="flex-item">1</li>
<li class="flex-item">2</li>
<li class="flex-item">3</li>
<li class="flex-item">4</li>
<li class="flex-item">5</li>
</ul>
</body>
</html>
效果图:
说明:红色列表为 row
,黄色列表为 row-reverse
,蓝色列表为 column
,绿色列表为 column-reverse
。
基本上,在大多数情况下使用row,或者在某些情况下使用column;反转方向顺序是非常不常见的。
推荐阅读: