display:flex和display:box布局瀏覽器兼容性分析


display:flex和display:box都可用於彈性布局,不同的是display:box是2009年的命名,已經過時,用的時候需要加上前綴;display:flex是2012年之后的命名。在實際的測試中display:flex不能完全的替代display:box。display:flex的瀏覽器兼容性比較麻煩。

1.關於display:flex

對於響應式布局,使用flex很方便,但是它的兼容性也是一個值得考慮的問題。

<div class="container">
        <div class="item" style="background:#f00"></div>
        <div class="item" style="background:#000"></div>
        <div class="item" style="background:#08c"></div>
        <div class="item" style="background:#a00"></div>
        <div class="item" style="background:#0f0"></div>
    </div>
.container{
		display:flex;
		flex-flow:row nowrap;
		justify-content:space-between;
		align-items:center;
		margin:0 auto;
		width:100%;
		height:200px;
		background:#eee;
	}
	.item{flex:1;height:200px;}

  

對於PC端,一般chrome(測試版本:49.0.2623.110 m)和火狐(測試版本:49.0.2)都能很好地支持。ie不支持,顯示的是順序排列下來的寬度100%的模塊。

對於移動端:

(1)上述代碼iOS的原生safari瀏覽器是支持的;UC瀏覽器支持的很好;微信瀏覽器不支持(測試機型:蘋果4s)

(2)安卓的原生瀏覽器不支持,能夠正常顯示模塊,文檔流依次排列;UC瀏覽器不支持,顯示為空白;微信瀏覽器不支持(測試機型:華為榮耀6 Plus,Android4.4.2)

2.關於display:box

<div class="container">
		<div class="item item1" style="background:#f00"></div>
		<div class="item item2" style="background:#000"></div>
		<div class="item item3" style="background:#08c"></div>
	</div>
.container{
		display:-moz-box;
		display:-webkit-box;
		display:box;
		width:100%;
		height:200px;
	}
.item{height:200px;}
.item1{-moz-box-flex:1;-webkit-box-flex:1;box-flex:1;}
.item2{-moz-box-flex:2;-webkit-box-flex:2;box-flex:2;}
.item3{-moz-box-flex:3;-webkit-box-flex:3;box-flex:3;}

PC端:chrome(測試版本:49.0.2623.110 m)和火狐(測試版本:49.0.2)都能很好地支持。ie不支持,顯示的是順序排列下來的寬度100%的模塊。

移動端:

(1)上述代碼iOS的原生safari瀏覽器是支持的;UC瀏覽器支持的很好(測試機型:蘋果4s)

(2)安卓的原生瀏覽器支持;UC瀏覽器不支持,顯示為空白(測試機型:華為榮耀6 Plus:Android4.4.2)

 UC瀏覽器是支持display:box;在我的手機上之所以沒顯示,排查了一下原因,是因為頁面缺少meta,<meta name="viewport" content="width=device-width" />加上之后就可以正常顯示了。具體是為什么只有我的手機上非要加meta,我也不清楚--_--

總的來說,不考慮IE瀏覽器的話,PC端上使用哪個都可以,一般使用display:flex;移動端的安卓的UC只支持display:box,iOS的UCdisplay:box和display:flex兩個都支持。

3.兼容瀏覽器的寫法

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

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM