一篇文章带你快速学会Flex布局

1,628 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

点个赞,收藏起来,防止您下次不会迷路哦 🎉

认识flex 🍻

传统布局与flex布局

传统布局

  • 兼容性好
  • 布局繁琐
  • 局限性,不能很好的适配移动端

flex布局

  • 操作方便,布局极为简单
  • 移动端应用广泛

flex弹性布局

flex为弹性布局,用来为盒模型提供最大的灵活性,任何一个容器都可以指定为flex布局。

当我们为父盒子设为flex布局以后,子元素的float、clear、vertical-align属性会失效

布局原理

采用flex布局的元素,成为flex容器。它的所有子 元素自动成为容器成员,称为flex项目。通过给父盒子添加flex属性,来控制子盒子的位置和排列方式

flex父项常见属性 🥂

flex-direction

设置主轴的方向

属性值说明
row从左到右(默认值)
row-reverse从右到左
column从上到下
column-reverse从下到上

justify-content

定义在主轴上的子元素的对齐方式。!!使用之前要确定好主轴

属性值说明
flex-start从头开始,如果主轴是x轴,则从左到右(默认值)
flex-end从尾部开始
center居中对齐,如果主轴是x轴,则水平居中
space-around每个子元素平分剩余空间
space-between两边贴边,再平分剩余空间

flex-wrap

设置子元素是否换行。默认不换行,一行放不下时会自动减少子盒子在主轴上的长度,使子元素都放在一行。

属性值说明
nowrap不换行(默认值)
warp换行
wrap-reverse换行,从下到上

align-items

设置侧轴上的子元素排列方式(单行)

属性值说明
flex-start从头开始,如果主轴是x轴,则从上到下
flex-end从下到上
center居中对齐,如果主轴是x轴,则垂直居中
stretch拉伸。!!子元素不能给高度

align-content

设置侧轴上的子元素排列方式(多行)。只有子元素出现换行时使用,单行下没有效果。

属性值说明
flex-start从头开始,如果主轴是x轴,则从上到下
flex-end从下到上
center居中对齐,如果主轴是x轴,则垂直居中
space-around子元素平分剩余空间
space-between两边贴边,再平分剩余空间
stretch平分父元素高度(不设置子元素高度)

flex-flow

是flex-direction和flex-wrap的复合属性,设置主轴方向和是否换行

属性值说明
如:row wrap主轴是x轴且换行

最后🛴

Flex 能让你的网页更华丽 ✨

Flex属性都在这了,还不收藏吗 💖