flex-direction 排列方向
弹性和模型中内部的子元素的排列方向可以通过这个,那么我们就一起看下它的使用吧。
flex-direction 规定项目的排列方向。
flex-direction 用来调整主轴的方向,我们知道主轴认是水平方向且从左到右,而我们可以通过这个设置主轴的方向,即项目是水平方向从左到右还是垂直方向从上到下或者从下到上排列。
div{
flex-direction: row|row-reverse|column|column-reverse|initial|inherit;
}
<div class="demo">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
.demo{
display:flex; // 让容器变成弹性盒
flex-direction:row-reverse; 改变项目的排列方向
}
.demo{
display:flex;
flex-direction:column;
text-align: center;
line-height: px;
}
.item{
background:#ccc;
height:px;
border-bottom:px solid #fff;
}
图
<!DOCTYPE html>
<html lang="en">
<head>
< charset="UTF-8">
< name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.demo{
display:flex;
flex-direction:column;
text-align: center;
line-height: px;
}
.item{
background:#ccc;
height:px;
border-bottom:px solid #fff;
}
</style>
</head>
<body>
<div class="demo">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
</body>
</html>
.demo{
display:flex;
flex-direction:column-reverse;
text-align: center;
line-height: px;
}
.item{
background:#ccc;
height:px;
border-bottom:px solid #fff;
}
图
<!DOCTYPE html>
<html lang="en">
<head>
< charset="UTF-8">
< name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.demo{
display:flex;
flex-direction:column-reverse;
text-align: center;
line-height: px;
}
.item{
background:#ccc;
height:px;
border-bottom:px solid #fff;
}
</style>
</head>
<body>
<div class="demo">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
</body>
</html>
.demo{
display:flex;
flex-direction:row;
}
.item{
background:#ccc;
height:px;
width: px;
border-right:px solid #fff;
}
图
<!DOCTYPE html>
<html lang="en">
<head>
< charset="UTF-8">
< name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.demo{
display:flex;
flex-direction:row;
text-align: center;
line-height: px;
}
.item{
background:#ccc;
height:px;
width: px;
border-right:px solid #fff;
}
</style>
</head>
<body>
<div class="demo">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
</body>
</html>
.demo{
display:flex;
flex-direction:row-reverse;
}
.item{
background:#ccc;
height:px;
width: px;
border-right:px solid #fff;
}
图
<!DOCTYPE html>
<html lang="en">
<head>
< charset="UTF-8">
< name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.demo{
display:flex;
flex-direction:row-reverse;
text-align: center;
line-height: px;
}
.item{
background:#ccc;
height:px;
width: px;
border-right:px solid #fff;
}
</style>
</head>
<body>
<div class="demo">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
</div>
</body>
</html>
通过 flex 可以做上下固定,中间自适应的布局,它常常用于页那类的布局设置。
<div class="demo">
<div class="head">头部</div>
<div class="content"></div>
<div class="foot">尾部</div>
</div>
html,body{
padding:;
margin:;
height: ;
color:#fff;
}
.demo{
height: ;
display: flex;
flex-direction: column;
}
.head,.foot{
flex: px;
background: #000;
}
.content{
flex: ;
background: red;
}
案例:
<!DOCTYPE html>
<html lang="en">
<head>
< charset="UTF-8">
< name="viewport" content="width=device-width, initial-scale=1.0">
< http-equiv="X-UA-Compatible" content="ie=edge">
<title>demo</title>
<style>
html,body{
padding:;
margin:;
height: ;
color:#fff;
}
.demo{
height: ;
display: flex;
flex-direction: column;
}
.head,.foot{
flex: px;
background: #000;
}
.content{
flex: ;
background: red;
}
</style>
</head>
<body>
<div class="demo">
<div class="head">头部</div>
<div class="content"></div>
<div class="foot">尾部</div>
</div>
</body>
</html>
说明:这个布局就是两端固定,中间自适应的典型写法,而如果设置 flex-direction:row
就变成了左右固定,中间自适应的横向布局。而他们正是组成的基础。