flex布局
可以用父和子来区分felx
flex container
容器 父
flex item
项目 子
flex
就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式
flex-direction
设置主轴的方向
row
默认值从左到右
row-reverse
从右到左
column
从上到下
column-reverse
从下到上
div {
display: flex;
/* 主轴默认是row 行 */
flex-direction: row;
/* row翻转 */
flex-direction: row-reverse;
/* 也可以设定为主轴是column 列 */
flex-direction: column;
/* 主轴column列翻转 */
flex-direction: column-reverse;
width: 800px;
height: 300px;
background-color: pink;
}
div span {
width: 150px;
height: 150px;
background-color: purple;
}
<div>
<span>1</span>
<span>2</span>
<span>3</span>
</div>
justify-content
控制设置父主轴上的子元素排列方式
flex-start
默认值 从头部开始 如果主轴是X轴,则从左到右
flex-end
从尾部开始排列
center
在主轴居中对齐
space-around
平均分剩余空间
space-between
先两边贴边在平分剩余空间
div {
display: flex;
width: 800px;
height: 300px;
background-color: pink;
/* 默认行 */
flex-direction: row;
/* 以x轴开始从左对齐 */
justify-content: flex-start;
/* 以x轴开始最后盒子以右对齐 */
justify-content: flex-end;
/* 以中间对齐 */
justify-content: center;
/* 平均分配了空间 */
justify-content: space-around;
/* 左右两侧 */
justify-content: space-between;
}
div span {
width: 150px;
height: 150px;
background-color: purple;
}
<div>
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
</div>
flex-wrap
设置子元素是否换行
alingn-content
设置侧轴上的子元素的排列方式(多行)
align-items
设置侧轴上的子元素排列方式(单行)
flex-flow
复合属性,相当于同时设置了flex-direction和flex-wrap
flex-direction
练习