22.flex布局

怪异盒模型

content-box
		这是由 CSS2.1 规定的宽度高度行为。宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框。

在这里插入图片描述
border-box 为元素设定的宽度和高度决定了元素的边框盒。就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。
在这里插入图片描述FLEX布局

Flex容器:采用 Flex 布局的元素的父元素;
Flex项目:采用 Flex 布局的元素的父元素的子元素;
容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主轴的开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置叫做cross start,结束位置叫做cross end。
项目默认沿主轴排列。单个项目占据的主轴空间叫做main size,占据的交叉轴空间叫做cross size。

在这里插入图片描述

弹性盒子:是一个布局方法 
            作用:弹性盒子控制子元素(不包含孙子辈的元素)的布局方式
            特点:
                a.弹性盒子默认情况下是沿着“主轴”排列 默认情况下x轴为主轴 注:主轴可以更改
                b.弹性盒子称作“灵活元素”,所有子元素都可以设置宽高
                c.如果一个子盒子想在弹性盒子里面上上下左右居中,只需要你该子元素加margin:auto;

        1.设置弹性盒(添加父元素上)
          display:flex;

        2.改变主轴方向(添加父元素上)
            flex-direction:
                属性值:
                    row 默认值,主轴为x轴方向排列
                    column 主轴默认y轴方向排列
                    row-reverse 主轴为x轴 反向排列
                    column-reverse 主轴为y轴 反向排列

        3.主轴对齐方式(添加父元素上)
            justifiy-content
                属性值:
                        flex-start  以弹性盒主轴开始位置对齐
                        flex-end    以弹性盒主轴结束位置对齐
                        center      在主轴上居中
                        space-between   在主轴上两端对齐
                        space-round 自动分配主轴空间

        4.在侧上对齐方式(添加父元素上)
            align-items
                属性值:
                    flex-start      侧轴开始的位置
                    flex-end        侧轴结束的位置
                    center          侧轴中间
                    baseline        等效flex-sart
                    stretch(默认值)  拉伸

        5.是否让子元素超出的时候换行(弹性盒子子元素默认不会换行,在主轴上挤压)
            flex-warp
                nowarp 不换行
                warp   换行
                warp-reverse   底部向上显示
        
        6.控制行与行之间的间距  对单行无效(添加在父元素上面)
            align-content
                属性值
                    flex-start
                    flex-end
                    center
                    space-between
                    space-around
                    stretch

        7.flex-flow    添加在父元素上面
            flex-direction 和 flex-warp的缩写
            eg: flex-flow:row warp;


		添加在子元素上面的属性         
         8.控制某一个元素在侧轴的对齐方式
            align-self:
                属性值:
                    auto        默认值 元素继承了它的父容器的align-item属性
                    stretch     元素被拉伸以适应容器
                    center      元素位于容器的中心
                    flex-start  元素位于容器的开头
                    flex-end    元素位于容器的结尾
            
        9.控制子元素的排列顺序
        order
            属性值是一个数字,数字越大越往后面排列,能接收负数
            默认值为0
        
        10.剩余空间分配
        flex:1;     (把剩余空间全部分配给当前元素)

        flex-shrink:0; 子元素不在主轴挤压
flex的三兄弟
                flex-grow
                    一个数字,规定项目将相对于其他灵活的项目进行扩展的量。
                flex-shrink
                    一个数字,规定项目将相对于其他灵活的项目进行收缩的量。
                flex-basis
                    项目的长度

flex布局案例
在这里插入图片描述

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值