老师,项目中设置的这个‘flex: 1’怎么理解

老师,项目中设置的这个‘flex: 1’怎么理解

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,解答如下:

flex:1是flex:1 1 0%;的缩写,意思是元素占满剩余空间,比如下面的例子:

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        .container{

            display: flex;

        }

        .left{

            width: 200px;

            background-color: aqua;

        }

        .right{

            width: 400px;

            background-color: azure;

        }

        .middle{

            background-color: pink;

            flex: 1;

        }

    </style>

</head>

<body>

    <div class="container">

 

        <div class="left">我是左侧</div>

        <div class="middle"></div>

        <div class="right">我是右侧</div>

    </div>

</body>

</html>

该例子中,左右元素的宽度是固定的,但是父元素宽度不固定。那么flex:1的作用就是让middle占满父元素中,除了左右元素之外的剩余空间,比如:

https://img1.sycdn.imooc.com//climg/6268ae6a099a1af211510278.jpg

https://img1.sycdn.imooc.com//climg/6268ae760966d7af19190514.jpg

这样可以实现页面自适应。

当多个元素同时设置flex:1时,会均分父元素的空间。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师