javascript - display : box; 不平分父元素的宽度。
ringa_lee
ringa_lee 2017-04-11 11:19:15
[JavaScript讨论组]

display : box ;当孩子元素里面的内容不一样多时就不会平分父元素的宽度。
而display : flex; 就可以。
下面是HTML代码

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/style.css"/>
        <script  src="js/main.js"></script>
    </head>
    <body>
        <p id="box1">
            <p class="bo1">heh111e</p>
            <p class="bo1">hehe</p>
            <p class="bo1">hehe</p>
            <p class="bo1">hehe</p>
        </p>
        <p id="box2">
            <p class="bo2">i</p>
            <p class="bo2">lala</p>
            <p class="bo2">lala</p>
            <p class="bo2">lala</p>
        </p>
    </body>
</html>

下面是CSS代码

@charset "utf-8";
*{
    margin : 0px;
    padding : 0px;
}

html, body{
    width : 100%;
    height : 100%;
}


#box1{
    width: 100%;
    height : 100px;
    background : #f56;
    display:flex;
}
.bo1{
    flex : 1;
    border : 1px solid black;
    text-align:center;
}
#box2{
    width:100%;
    height : 100px;
    background : #ccc;
    display: -webkit-box;
}
.bo2{
    -webkit-box-flex : 1;
    border : 1px solid black;
}
ringa_lee
ringa_lee

ringa_lee

全部回复(1)
高洛峰

无论新语法还是旧语法,两者都是设置或检索伸缩盒对象的子元素如何分配其剩余空间

但是flex是<' flex-grow '> <' flex-shrink '> 和 <' flex-basis '>的缩写
如果缩写「flex: 1」, 则其计算值为「1 1 0%」

关于<' flex-basis '>
用来指定伸缩基准值,即在根据伸缩比率计算出剩余空间的分布之前,「flex子项」长度的起始数值。
在「flex」属性中该值如果被省略则默认为「0%」
在「flex」属性中该值如果被指定为「auto」,则伸缩基准值的计算值是自身的 <' width '> 设置,如果自身的宽度没有定义,则长度取决于内容。 

所以flex: 1的写法 隐含的定义了各个子项的默认宽度是一样的
-webkit-box-flex : 1;写法就没这个效果了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号