前端学习日记(十):css中伸缩盒布局的简单应用

∥☆過路亽.° 提交于 2020-03-10 19:34:51

一、伸缩盒布局( Flexbox )
【CSS3 弹性盒,是一种当页面需要适应不同的屏幕大 小以及设备类型时确保元素拥有恰当的行为的布局方式。】

  1. 三列布局(一行中有3列)
    【修饰后,三列在一行中显示,高度相等,宽度动态调整,当调整浏览器宽度的时候,每 一列的宽度会动态调整。】
    例如:【flex设定在子元素上,用来设置在主轴上的大小 占容器剩余空间的比例 每个项目占一份,也就是每个项目占三分之一】
 <style>
        /* 实现三列布局 */
        .container{
            display: flex;
            border: 1px solid blue;
            height: 200px;
        }
        .item{
            flex: 1;
        }
        .one{
            background-color: pink;
            flex: 2;
        }
        .two{
            background-color: cyan;
        }
        .three{
            background-color: coral;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="item one"></div>
        <div class="item two"></div>
        <div class="item three"></div>
    </div>
</body>

效果:【当改变浏览器大小时,元素大小也会改变,但比例不变】
在这里插入图片描述

  1. 三行布局
    【默认情况下,主轴是X轴(main axis),即flex容器中的各个元素在一行中分多列 显示。如果想在一列中显示多行,我们可以将主轴改为Y轴。 flex-direction: row (列布局) flex-direction: column (行布局)】
    例如:
<style>
        /* 实现三行布局 */
        .container{
            display: flex;
            border: 1px solid blue;
            height: 200px;
            /* 设置y轴为主轴     自上而下排*/
            flex-direction: column;
        }
        .item{
            flex: 1;
        }
        .one{
            background-color: pink;
            flex: 2;
        }
        .two{
            background-color: cyan;
        }
        .three{
            background-color: coral;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="item one"></div>
        <div class="item two"></div>
        <div class="item three"></div>
    </div>
</body>

效果:
在这里插入图片描述

  1. 伸缩盒布局
    纵向居中&横向伸缩

• align-items 控制伸缩盒子在交叉轴的对齐方式
取值:
· stretch 【默认值】将盒子在交叉轴上进行拉伸,直至适应整个伸缩盒子容器
· center 盒子在交叉轴中心显示
· flex-start 在伸缩盒子容器的伸缩开始位置显示,即伸缩盒子容器顶部
· flex-end 在伸缩盒子容器的伸缩结束位置显示,即伸缩盒子容器底部

• justify-content 控制伸缩盒子在主轴上的对齐方式
取值:
· flex-start【默认值】在主轴的开始显示
· flex-end 在主轴的结束显示
· center 在主轴的中心显示
· space-around 填充空白自适应在主轴中心显示
· space-between 填充空白自适应在主轴中心显示,但是首尾两个元素距离容器没有空白

• align-content 多轴排列在交叉轴对齐方式
取值: stretch【默认】 center flex-start flex-end space-around space-between

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!