Css3中display:flex与display:box区别

display:box和display:flex区别

答案:没区别,是不同阶段w3c草案命名的不同,

W3C 2009年第1次草案:display:box; 
W3C 2011年第2次草案:display:flexbox | inline-flexbox;- 
W3C 2012年第5次草案及以后的候选推荐标准:display:flex | inline-flex;

如果想兼容更多浏览器可以,可以这样写:

display: -webkit-box;/* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */

display: -moz-box;/* Firefox 17- */

display: -webkit-flex;/* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */

display: -moz-flex;/* Firefox 18+ */

display: -ms-flexbox;/* IE 10 */

display: flex;/* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */

下面通过一个实例详细介绍一下display:flex弹性布局

假设有一个底部导航条,效果如下:


Css3中display:flex与display:box区别
  最终代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <style type="text/css">
    * {
        padding: 0px;
        margin: 0px;
        list-style: none;
        font-size: 14px;
    }

    footer {
        position: fixed;
        left: 0px;
        bottom: 0px;
        width: 100%;
    }

    .nav {
        display: flex;
        height: 50px;
        align-items: center;
        background: #ccc;
    }

    li {
        flex: 1;
        border-right: 1px solid #000;
        text-align: center;
    }

    li:last-child {
        border-right: none;
    }
    </style>
</head>

<body>
    <footer>
        <ul class="nav">
            <li>首页</li>
            <li>物流</li>
            <li>购物车</li>
            <li>更多</li>
            <li>我的</li>
        </ul>
    </footer>
</body>

</html>