開發過程使用flex簡直不要太6,但是如果只是寫新版本的語法形式,是肯定存在相容性問題的(安卓機基本沒啥問題,主要是ios)
一、問題
flex佈局分為舊版本dispaly: box;過渡版本dispaly: flex box;以及現在的標準版本display: flex;
Android
2.3 開始就支援舊版本display:-webkit-box;
4.4 開始支援標準版本display: flex;
IOS
6.1 開始支援舊版本display:-webkit-box;
7.1 開始支援標準版本display: flex;
PC
ie10開始支援,但是IE10的是-ms形式的
二、解決
注意:把舊語法寫在底下(ps:css向下相容),否則無效
盒子寫法
display:-webkit-flex; /* 新版本語法: Chrome 21+ */
display:flex; /* 新版本語法: Opera 12.1, Firefox 22+ */
display:-webkit-box; /* 老版本語法: Safari, iOS, Android browser, older WebKit browsers. */
display:-moz-box; /* 老版本語法: Firefox (buggy) */
display:-ms-flexbox; /* 混合版本語法: IE 10 */
子元素寫法
-webkit-flex:1; /* Chrome */
-ms-flex:1; /* IE 10 */
flex:1; /* NEW, Spec - Opera 12.1, Firefox 20+ *
/-webkit-box-flex:1 /* OLD - iOS 6-, Safari 3.1-6 */
-moz-box-flex:1; /* OLD - Firefox 19- */
例子(相容iphone 6)