Loading

Flex布局

Flex布局

1.原理

  • flex是 flexible Box 的缩写,意为“弹性布局”,用来为盒装模型提供最大的灵活性,任何一个容器都可以指定为flex布局。
  • 当为父盒子设为flex布局后,子元素的float、clear和vertical-align属性会失效。
  • 采用Flex布局的元素,称为Flex容器,它的所有子元素自动成为容器成员,称为Flex项目。
  • 总结:就是通过给父盒子添加flex属性,来控制子盒子的位置和排列方式。

2.父项常见属性

  • flex-direction:设置主轴方向

    主轴与侧轴,也就是常说的X轴和Y轴

    默认主轴方向就是x轴方向,水平向右

    默认侧轴方向就是y轴方向,水平向下

flex-direction属性决定主轴的方向,即项目的排列方向。设置谁为主轴,剩下的就变成侧轴,子元素根据主轴来排列。

属性值 说明
row 默认值从左到右
row-reverse 从右到左
column 从上到下
column-reverse 从下到上
  • justify-content :设置主轴上子元素排列方式

    属性值 说明
    flex-start 默认值从头部开始 如果主轴是x轴,则从左到右
    flex-end 从尾部开始排列
    center 在主轴居中对齐(如果主轴是x轴则水平居中)
    space-around 平分剩余空间
    space-between 先两边贴边再平分剩余空间(重要)
  • flex-wrap:设置子元素是否换行

    属性值 说明
    nowrap 默认值,不换行
    wrap 换行
  • align-items:设置侧轴上的子元素排列方式(单行)

    属性值 说明
    flex-start 默认值 从上到下
    flex-end 从下到上
    center 挤在一起居中(垂直居中)
    stretch 拉伸
  • align-content:设置侧轴上子元素的排列方式(多行)

    只能用于子项出现换行情况,在单行下是没有效果的。

    属性值 说明
    flex-start 默认值在侧轴的头部开始排列
    flex-end 在侧轴的尾部开始排列
    center 在侧轴中间显示
    space-around 子项在侧轴平分剩余空间
    space-between 子项在侧轴先分布在两侧,在平分剩余空间
    stretch 设置子项元素高度平分父元素高度
  • flex-flow

    是 flex-direction 和 flex-wrap 属性的复合属性

    flex-flow:row wrap;

3.子项常见属性

  • flex 子项目占的份数
  • align-self 控制子项自己在侧轴的排列方式
  • order 属性定义子项的排列顺序(前后顺序)
posted @ 2022-02-08 18:28  励码万言  阅读(44)  评论(0编辑  收藏  举报