flex弹性布局

197 阅读2分钟

flex布局可以极大提高我们布局的效率,更加灵活简洁,不脱标,可以避免浮动脱标的问题. 语法:dispkay:flex display: flex 一定要给亲爸爸加,加了flex布局后,父元素成为弹性容器,子元素成为弹性盒子.子元素默认水平排列,可以自动挤压或拉伸. 组成部分:

  • 1.弹性容器
  • 2.弹性盒子
  • 3.主轴
  • 4.侧轴/交叉轴

主轴对齐方式

属性名:justify-content

属性值:

  • flex-start 默认值,起点开始依次排列
  • flex-end 终点开始依次排列
  • center 沿主轴居中排列
  • space-around 弹性盒子沿主轴均匀排列,空白间距均分在盒子两侧 缝隙1:2
  • space-between 弹性盒子沿主轴均匀排列,空白间距均分在相邻盒子之间 没有缝隙,两边靠边
  • space-evenly 弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等 缝隙1:1

侧轴对齐方式

属性名:

align-items (添加到弹性容器)

align-self 控制某个弹性盒子在侧轴的对齐方式(添加到弹性盒子)

属性值

  • flex-start 默认值,起点开始依次排列
  • flex-end 终点开始依次排列
  • center 沿侧轴居中排列
  • stretch 默认值,弹性盒子沿主轴线拉伸至铺满容器

注意:

align-content 用于设置多行弹性盒子侧轴对齐方式,取值与justify-content相同

align-items 设置单行弹性盒子侧轴对齐方式

伸缩比

把盒子氛围若干份.每个盒子各站几份

属性名:flex

属性值:数值(整数)

比如有一个父盒子里面有三个子盒子,每个子盒子写 flex:1; 此时每个子盒子各占三分之一。

圣杯布局

圣杯布局就是左右两边宽度固定,中间宽度自适应,一般用于移动端顶部搜索部分,如京东顶部搜索栏

小结:

1.在flex眼中,标签不再分类

  • 简单来说就是没有块元素,行内块元素和行内元素
  • 任何一个元素都可以直接设置宽高.

2.flex不存在脱标情况,基本淘汰浮动.

3.有兼容性问题,如果是移动端直接可以使用,pC端需考虑兼容问题.