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弹性布局
假设有一个底部导航条,效果如下:
最终代码
<!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>