【笔记】Flex学习笔记
前言
Flex布局(伸缩布局/弹性布局)学习笔记
父元素属性
- 当把盒子设置成flex布局后,子元素的float、clear、vertical-align属性将失效
- 如果主轴是横向的,侧轴就是纵向的;如果主轴是纵向的,侧轴就是横向的
display: flex;
:使用flex布局flex-direction
:设置主轴方向
row
:缺省值,从左到右row-reverse
:从右到左column
:从上到下column-reverse
:从下到上
flex-wrap
:设置子元素是否换行
nowrap
:缺省值,不自动换行,此时如果子元素过多,会导致子元素尺寸强制发生改变wrap
:自动换行,此时无论子元素是否过多,都不会导致子元素尺寸发生改变,会强制将放不下的子元素自动换行
flex-flow: flex-direction flex-wrap
:同时设置主轴方向和是否换行justify-content
:设置主轴上子元素排列方式
flex-start
:缺省值,从头到尾flex-end
:从尾到头center
:居中space-around
:平分剩余空间,两边有空隙space-between
:平分剩余空间,两边无空隙
align-items
:为单行子元素,设置侧轴上子元素排列方式
flex-start
:缺省值,从头到尾flex-end
:从尾到头center
:居中对齐stertch
:拉伸对齐(子盒子不能指定高度)
align-content
:为多行子元素,设置侧轴上子元素排列方式
flex-start
:缺省值,从头到尾flex-end
:从尾到头center
:子元素整体居中对齐space-around
:子元素在侧轴靠近两边space-between
:子元素每一行先在侧轴等分每一行空间,再整体居中对齐
1 | <html> |
子元素属性
分配子元素的剩余空间
flex <num>
:指定占比权重
1 | <html> |
控制当前子元素在侧轴的排列方式
- 通过
align-self
属性覆盖指定子元素的align-items
属性
align-self
:为单行子元素,设置侧轴上子元素排列方式
auto
:跟随父元素的align-self
属性,如果没有父元素,按照stertch
拉伸对齐flex-start
:从头到尾flex-end
:从尾到头center
:居中对齐stertch
:拉伸对齐(子盒子不能指定高度)
1 | <html> |
指定子项目的排列顺序
order <num>
:指定子项目的排列顺序,数字越小越靠前,可以是0、正数、负数
0
:缺省值
1 | <html> |