flex布局 | 青训营笔记

104 阅读1分钟

flex布局

中文译为弹性布局,可以为盒装模型提供最大的灵活性,任何一个容器都可以指定为弹性布局,是适配布局最常用的布局。

提前声明

当为父盒子设置flex布局后,子元素的float(浮动),clear和vertical-align都会失效,当然,如果学会了flex布局,那浮动大概率就不需要了。

学习方向

弹性布局可以操作父项和子项,二者的操作方式有一些不同,但又有很多相似,需要分别学习。

父项

不论是对父项进行配置还是对子项进行配置,操作的对象都是子项,所以父项中必须要加上 display:flex;

  1. 父项的常见属性:
  • flex-direction:可以操作排列的主轴方向,如果没写,那默认值为按横向排列(row)

纵向排列为column

  • flex-wrap:可以操作排列时是否换行,默认为不换行(nowrap),换行为(warp)
  • flex-flow:direction和wrap的结合
  • justify-content:设置主轴上子元素的排列方式,如果主轴是x轴,那默认是从左向右顺序排列;如果主轴是y轴,那默认是从上往下顺序排列,中间没有间隔; image.png space-around是平分空间

image.png space-between是先两边贴边,再平分剩余空间

image.png

  • align-items(单行):设置侧轴上子元素的排列方式。默认排列跟justify-content相同,其中center是居中

image.png stretch是拉伸(前提是不设置子盒子高度)

image.png

  • align-content(多行):设置侧轴上子元素的排列方式。选项有space-around

image.png space-betweeen

image.png stretch