flex弹性布局

一、弹性布局是什么
flex布局即弹性布局,主要代替传统float浮动布局,解决排版和对齐方式等问题,其优势是做一维布局(网格布局是二维布局)。

二.flex布局的用法
布局要给父元素设置,子元素按照布局方式排列,他会使块级元素不独占一行
设置在父容器上的内容

  • display:flex; 【必须存在,才能进行弹性布局】

  • flex-direction:row;【主轴排列方向】
    row;默认值,显示为行,方向与当前文档水平流方向一致,默认从左往右
    row-reverse;行,与默认相反,从右往左
    column;显示为列,从上往下
    column-reverse;列,与默认相反,从下往上

  • flex-wrap:nowrap;【是否进行换行处理】
    nowrap;默认值,不换行处理
    wrap;换行处理
    wrap-reverse;反向换行处理

  • flex-flow:flex-direction flex-wrap;【复合写法】

  • justify-content:【属性决定了主轴方向上子项的对齐和分布方式】 flex-start;子项都去起始位置对齐
    flex-end;子项都去结束位置对齐 center;子项都去中心位置对齐
    space-between;中间,表现为两端对齐,从起始位置到结束位置,多余的空白间距只在元素中间区域分配
    space-around;环绕,每个flex子项两侧都环绕互不干扰的等宽的空白间距,最终视觉效果是边缘两侧的空白间距只有中间空白间距的一半
    space-evenly;匀称平等,每个flex子项的两侧空白间距完全相等

  • align-items:【flex子项们相对于父容器在侧轴方向上的对齐方式】items指的是子项们,每一行中的子元素的上下对齐方式
    flex-start/center/flex-end;

  • align-content:【多行的侧轴的对齐方式】
    (最少需要两行才能看出效果,因为它是多行的一个上下对齐方式)
    默认值是stretch拉伸,多行下,有几行就会把容器化分为几部分 属性值与justify-content的取值一样

②添加在子项子容器上的属性

  • order:1/2/3/…;【排序】值越大越考后排

  • flex-grow:0/.5/1/3…;【扩展】想看到扩展就必须有空白间距
    0;默认值,不去扩展
    1;去扩展,会把空白间距占满
    子元素会按照设置的比例值对空白间距进行分配
    如果比例值的总和小于1,那么空白间距还是存在(因为没被分配用完)
    如果比例值的总和大于1,那么就没有空隙,全被占满

  • flex-shrink:【收缩】 默认值是1 / 0表示不收缩 / .5收缩小一些 / 2收缩大一些 (大小是跟正常缩放1进行比较的)

  • flex: flex-grow flex-shrink flex-basis【复合写法】
    flex:1; → flex: 1 1 0; 空间等值分配
    flex: 0; → flex: 0 1 0;

  • align-self: 跟align-items操作很像,区别是这个只针对某一个子项

  • 图释

  • 在这里插入图片描述

三.注意事项及特点
1.默认情况下,在弹性盒子中的子元素是左右排列的。
2.默认情况下(即以水平为主轴时),当宽高不写时,宽度由内容决定,高度由父容器决定。
3.当以垂直为主轴时,当宽高不写,高度由内容决定,宽度由父容器决定[同水平轴相反]。
4.当子项的总宽度大于父容器的时候,会自动收缩(弹性的优先级是大于自身的固定大小)。
5.当子项的内容已经达到了父容器最小宽高的时候,就会出现溢出的现象。
6. 弹性布局中用的频率比较多的语法:
display : flex;
flex-direction;
justify-content;
align-items;
flex;
7.弹性布局的优势是做一维布局,网格布局的优势是做二维布局。

四.案例
1.在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值