快速掌握CSS3弹性布局

简介

display:flex;
弹性布局是css3的一种新的布局方式,它能够快速轻易的实现页面的各种布局。

  • 采用弹性布局的盒子叫做弹性盒子
  • 弹性盒子中的元素称为弹性项目
  • 容器中有两条轴,沿水平方向的叫主轴,垂直于主轴的叫侧轴

常用属性

flex-direction:

(控制项目的排列方向)

  • row(默认)
  • row-reverse
  • column(纵向)
  • column-reverse
flex-direction: row;

在这里插入图片描述

flex-direction: column;

在这里插入图片描述

flex-wrap

(如果一行放不下是否换行)

  • nowrap(默认)
  • wrap(换行)
  • wrap-reverse(换行并反转)
    <div class="container">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
    </div>
        div {
            border: 1px solid red;
        }
        .container {
            width: 500px;
            height: 300px;
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
        }
        .container div {
            width: 200px;
            height: 100px;
        }

整个容器的宽高为500px*300px,每一个弹性项目的宽高为200px*100px,默认情况是不换行自动将弹性盒子的宽度设置为100px
在这里插入图片描述
如果设置为wrap,盒子会进行换行,大小是自己设置的大小
在这里插入图片描述
以上两种属性可以通过flex-flow: row wrap;简写

justify- content

弹性项目在主轴上的对齐方式

  • flex-start(默认)
  • flex-end
  • center(居中)
  • space-between(两端对齐)
  • space-around
  • space-evenly

justify-content: flex-end;依次在容器中添加div观察排列方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
justify-content: center;
justify-content: center;
justify-content: space-between;
在这里插入图片描述
justify-content: space-around;
在这里插入图片描述

justify-content: space-evenly;
间隙的宽度是一样的
在这里插入图片描述

align-items

弹性项目在侧轴上的对齐方式(与在主轴上对齐方式相似)

  • stretch(默认)
  • flex-start
  • flex-end
  • center

align-content

元素换行后设置多行对齐方式(此功能与justify- content相似),前提是容器必须设置flex-wrap换行

  • flex-start(默认)
  • flex-end
  • center
  • space-between
  • space-around
  • space-evenly

align-content: flex-start;(1和3的间隙没有了)
在这里插入图片描述
align-content: center;
在这里插入图片描述

flex

该属性是卸载弹性项目中的,定义项目的伸缩比例

    <div class="container">
        <div class="1">1</div>
        <div class="2">2</div>
        <div class="3">3</div>
    </div>
        .container {
            width: 500px;
            height: 300px;
            display: flex;
        }
        .container div {
            width: 200px;
            height: 100px;
        }
        .first {
            flex: 1;
        }
        .second {
            flex: 2;
        }
        .third {
            flex: 3;
        }

相当于在这一行中分了1+2+3=6份,flex的值就是占了几份
在这里插入图片描述

order

该值也是该弹性项目设置的,定义项目的排列顺序

        .first {
            flex: 1;
            order: 3;
        }
        .second {
            flex: 2;
            order: 1;
        }
        .third {
            flex: 3;
            order: 2;
        }

值越大的,就后产生这个盒子
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

boboj1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值