css之flex布局

136 阅读2分钟

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。

2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。

flex布局是什么?
Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。flex 布局就是通过给"父元素"不同的属性 控制"子元素"的排列方式

任何一个容器都可以指定为Flex布局。

基本语法

 .box{
     display:flex
 }

flex布局基本属性

属性含义参数
flex-direction决定子级的主轴排列方向水平方向起点在左端row
水平方向起点在右端row-reverse
垂直方向起点在上方column
垂直方向起点在下方 column-reverse
flex-wrap子元素换行的样式不换行nowrap
换行第一行在上方wrap
换行第一行在下方wrap-reverse
flex-flowflex-flow属性是flex-direction和flex-wrap属性的缩写默认值为 row nowrap
flex-flow:<flex-direction> <flex-wrap>
justify-content定义的是子级项目在主轴上空间的分配开始flex-start
末尾flex-end
中间center
首尾贴紧中间均匀分开space-between
均匀分开但最左边和最右边大小和中间不一样space-around
绝对的均匀分散space-evenly
align-items定义项目在交叉轴如何对齐交叉轴的起点对齐flex-start
交叉轴终点对齐flex-end
交叉轴中点对齐center
项目的第一行文字的基线对齐baseline
如果子及未设置高度或为auto将铺满整个容器的高度stretch