CSS的flex弹性布局

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8" />

    <title>flex弹性布局</title>

    <style>

        /* 加了flex是弹性容器 */

        .box{

            display: flex;

            height: 300px;

            /* justify-content: start; 默认情况 */

            /* justify-content: flex-end;  从右边开始 */

            /* justify-content: center;    盒子居中 */

            /* justify-content: space-between; 空白间距均分在弹性盒子之间 */

            /* justify-content: space-between; 弹性盒子与容器之间间距相等,父级剩余的尺寸分配间距分配 */

            /* justify-content: space-around;  空白间距均分在弹性盒子两侧 */

            /* justify-content: space-evenly;  弹性盒子与容器之间间距相等 */

            border: 1px solid black;

            /* align-items: center; 居中 */

            /* align-items: flex-end; */

            /* align-items: flex-start; */

        }

        /* 让第二个div,侧轴居中对齐 */

        .box div:nth-child(2){

            align-self: center;

        }

        /* 子级div是弹性盒子:沿着主轴方向排列,默认是水平的 */

        .box div{

            width: 200px;

            height: 100px;

            background-color: pink;

        }

    </style>

</head>

<body>

    <!-- 默认情况下,主轴方向的尺寸是靠内容撑开,侧轴默认拉伸 -->

    <!-- 认识Flex

    flex布局也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力。

    flex模型不会产生浮动布局中脱标现象,布局更简单更灵活

    -->

    <!-- flex --组成

    设置方式:给父元素设置display:flex,子元素可以自动挤压或拉伸

    组成部分:

    弹性容器

    弹性盒子(根据子级div数量宽高自动改变子级div的宽高)

    主轴:默认在水平方向

    侧轴/交叉轴:默认在垂直方向

    -->

    <div class="box">

        <div>1</div>

        <div>2</div>

        <div>3</div>

        <!-- <div>4</div>

        <div>5</div>

        <div>6</div>

        <div>7</div>

        <div>8</div>

        <div>9</div> -->

    </div>

    <!-- 布局

        1.创建flex容器:display:flex

        2.主轴对齐方式:justify-content

        属性值:

        flex-start:默认值,弹性盒子从起点开始依次排列

        flex-end:弹性盒子从终点开始依次排列

        center:弹性盒子沿主轴居中排列

        space-between:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间

        space-around:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧

        space-evenly:弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

        3.侧轴对齐方式:align-items

        当前弹性容器内所以弹性盒子的侧轴对齐方式(给弹性容器设置)

        某个弹性盒子侧轴对齐方式:align-self

        单独控制某个弹性盒子的侧轴对齐方式(给弹性盒子设置)

        属性值:(align-items和align-self属性值一样)

        stretch:弹性盒子沿着侧轴线被拉伸至铺满容器(弹性盒子没有设置侧轴方向尺寸则默认拉伸)

        center:弹性盒子沿着侧轴居中排列

        flex-start:弹性盒子从起点开始依次排列

        flex-end:弹性盒子从终点开始依次排列

        4.修改主轴方向:flex-direction

        主轴默认在水平方向,侧轴默认在垂直方向

        属性值:

        row:水平方向,从左向右(默认)

        column:垂直方向从上到下

        row-reverse:水平方向,从右向左

        column-reverse:垂直方向,从上向下

        5.弹性伸缩比:flex

        控制弹性盒子的主轴方向的尺寸

        属性值:整数数字,表示占用父级剩余尺寸的份数

        弹性盒子换行:flex-warp

        弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示

        属性值:

        warp:换行

        nowrap:不换行(默认)

        行对齐方式:align-content

        注意,对单行不生效,要有flex-warp:warp

        属性值:

        flex-start:默认值,弹性盒子从起点开始依次排列

        flex-end:弹性盒子从终点开始依次排列

        center:弹性盒子沿主轴居中排列

        space-between:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间

        space-around:弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧

        space-evenly:弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

    -->

</body>

</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小小程序员.¥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值