display:box 和 display:flex 两者区别 ?


想听大家的说法,不要copy了。

css3 html5

施特拉赫维斯 9 years, 10 months ago

只是flex语法规范更新了几个版本:

  • 前者 display:box 是2009年的语法版本,使用时需要加上浏览器的前缀,不过现在已经过时了。

  • 后者 display:flex 是2012年最新修正的语法版本,浏览器支持较好,也将成为以后标准的语法。

  • 中间2011年也提出了一个奇葩的语法版本 display:flexbox ,非官方的,当时主要是为IE浏览器使用。

display:box 浏览器支持:

IE Firefox Chrome Safari Opera
不支持 2.0-40.0
(-moz-)
4.0-45.0
(-webkit-)
6.0-8.0
(-webkit-)
15.0-29.0
(-webkit-)

display:flex 浏览器支持:

IE Firefox Chrome Safari Opera
11.0+ 22.0+ 21.0+(-webkit-)
29.0+
6.1+(-webkit-)
9.0+
15.0+(-webkit-)
17.0+

较为完整的兼容性代码,如下:


 .box {
    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+ */
}

茶幾宅D忧郁 answered 9 years, 10 months ago

Your Answer