flex布局分為舊版本dispaly: box;
,過渡版本dispaly: flex box;
,以及現在的標准版本display: flex;
。所以如果你只是寫新版本的語法形式,是肯定存在兼容性問題的。
- Android
- 2.3 開始就支持舊版本
display:-webkit-box;
- 4.4 開始支持標准版本
display: flex;
- 2.3 開始就支持舊版本
- IOS
- 6.1 開始支持舊版本
display:-webkit-box;
- 7.1 開始支持標准版本
display: flex;
- 6.1 開始支持舊版本
- PC
ie10開始支持,但是IE10的是-ms
形式的。
下面是各個瀏覽器的支持情況
CSS彈性盒模型 flex布局兼容性寫法
CSS樣式
- flex:定義布局為盒模型
- flex-v:盒模型垂直布局
- flex-1:子元素占據剩余的空間
- flex-align-center:子元素垂直居中
- flex-pack-center:子元素水平居中
- flex-pack-justify:子元素兩端對
.flex { display: -webkit-box; /* 老版本語法: Safari, iOS, Android browser, older WebKit browsers. */ display: -moz-box; /* 老版本語法: Firefox (buggy) */ display: -ms-flexbox; /* 混合版本語法: IE 10 */
display: -webkit-flex; /* 新版本語法: Chrome 21+ */
display: flex; /* 新版本語法: Opera 12.1, Firefox 22+ */
}
.flex-1 { -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- */ } .flex-v { -webkit-box-orient: vertical; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } .flex-align-center { -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; } .flex-pack-center { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } .flex-pack-justify { -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }
.flex-pack-around {
-webkit-box-pack: center;
-webkit-justify-content: space-around;
-ms-flex-pack: center;
justify-content: space-around;
}
兼容性:ios 4+、android 2.3+、winphone8+
示例-兩端對齊
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <meta content="telephone=no" name="format-detection"> <meta content="email=no" name="format-detection"> <style type="text/css"> .flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;} .flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;} .flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;} .flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;} .flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;} .flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;} </style> </head> <body> <div class="flex flex-pack-justify"> <div>模塊一</div> <div>模塊二</div> <div>模塊三</div> <div>模塊四</div> </div> </body> </html>
圖示
轉載自: