442 words
2 minutes
css布局
正常布局流
浏览器默认的HTML布局方式。例如<p>
自动会换行,因为其display:block
。 <a>
会与文本的其余内容保持内联(可以看作标签内内容不强制换行),因为其display:inline
。
这些默认的布局方式可以通过修改
display
属性的值来改变
弹性盒子flex
基本信息
- 一些术语
- 主轴: main axis,main start, main end
- 交叉轴: cross axie,cross start, cross end
- flex容器:设置
display:flex
的父元素 - flex项目: flex容器中表现为弹性的盒子的元素
下为flex容器中的一些设置
flex-direction
- 指定主轴的方向
- 默认值是row
row-reverse
和column-reverse
用于反向排列flex项justify-content
主轴方向排列方式flex-start
:从主轴开始位置,从左到右flex-end
:从主轴结束位置,从右到左center
:居中space-between
:最左和最右均靠边,中间均衡分布space-around
:最左和最右不靠边,中间均衡分布
前三个flex item之间均无间隙
align-items
单行交叉轴排列方式stretch
:默认flex-start
:在交叉轴起始位置对齐,无间隙flex-end
:在交叉轴结束位置对齐,无间隙center
:在交叉轴居中对齐,无间隙
align-content
多行交叉轴排列方式stretch
:默认flex-start
:在交叉轴起始位置对齐,无间隙flex-end
:在交叉轴结束位置对齐,无间隙center
:在交叉轴居中对齐,无间隙space-around
:space-between
:
不是设置子元素对齐,而是设置行对齐
flex容器和flex项目的宽度
- flex容器的高度是content区域的高度
- flex项目也是content区域的高度
时,能够垂直居中。
flex-wrap
控制flex项目过多时的换行