flex布局越来越主流,但是在适配手机wap页面时,仍然会在一些低版本机器(比如Android4.3以下/IOS9以下)上面存在一些兼容性问题,常规修复是加上相应的浏览器前缀,某些情况下还需要加上width属性的。

大而全的示例

具体的兼容用法示例如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
.foo {
display: box; /* OLD - Android 4.4- */
display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */
display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */
display: -ms-flexbox; /* TWEENER - IE 10 */
display: -webkit-flex; /* NEW - Chrome */
display: flex;

-webkit-box-flex: 0 0 34.4%; /* OLD - iOS 6-, Safari 3.1-6 */
-moz-box-flex: 0 0 34.4%; /* OLD - Firefox 19- */
-webkit-flex: 0 0 34.4%; /* Chrome */
-ms-flex: 0 0 34.4%; /* IE 10 */
flex: 0 0 34.4%;

/*For Android 4.3*/
width: 34.4%;

/* 09版 */
-webkit-box-lines: multiple;
/* 12版 */
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-o-flex-wrap: wrap;
flex-wrap: wrap;

/* 09版 */
-webkit-box-align: center;
/* 12版 */
-webkit-align-items: center;
-moz-align-items: center;
-ms-align-items: center;
-o-align-items: center;
align-items: center;

/* 09版 */
-webkit-box-pack: center;
/* 12版 */
-webkit-justify-content: center;
-moz-justify-content: center;
-ms-justify-content: center;
-o-justify-content: center;
justify-content: center;
}

IOS8兼容示例

1
2
3
4
5
6
7
8
display: flex;
display: -webkit-flex; //适配低版本写法
flex-direction: column;
-webkit-flex-direction: column;//适配低版本写法

flex:1;
-webkit-box-flex: 1;
-webkit-flex: 1;

写在最后

转载:flex在安卓4.3中的兼容方式:https://blog.csdn.net/quake\_walk/article/details/52298303
flex教程:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm\_source=tuicool
flex使用实例:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html
flex兼容性:http://caniuse.com/#search=flex