您的位置:首页 > Web前端 > CSS

flex布局的兼容性

2018-03-29 15:53 323 查看
一直以来用flex解决居中问题很方便,几个项目做下来,flex的兼容性问题也遇到了的,但最近的一个项目测试的时候,在一部ios8以下版本的iPhone上出现了不兼容。然后又就去研究了一下flex的兼容性,下面分享一下flex布局的兼容性写法。.flex {

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;

}

/* 父元素-水平居中(主轴是横向才生效) */

.flex-hc {

/* 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;

/* 其它取值如下:

align-items 主轴原点方向对齐

flex-end 主轴延伸方向对齐

space-between 等间距排列,首尾不留白

space-around 等间距排列,首尾留白

*/

}

/* 父元素-竖直居中(主轴是横向才生效) */

.flex-vc {

/* 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;

}

/* 子元素-平均分栏 */

.flex1 {

-webkit-box-flex: 1; /* OLD - iOS 6-, Safari 3.1-6 */

-moz-box-flex: 1; /* OLD - Firefox 19- */

width: 20%; /* For old syntax, otherwise collapses. */

-webkit-flex: 1; /* Chrome */

-ms-flex: 1; /* IE 10 */

flex: 1; /* NEW, Spec - Opera 12.1, Firefox 20+ */

}

/* 父元素-横向排列(主轴) */

.flex-h {

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; /* NEW, Spec - Opera 12.1, Firefox 20+ */

/* 09版 */

-webkit-box-orient: horizontal;

/* 12版 */

-webkit-flex-direction: row;

-moz-flex-direction: row;

-ms-flex-direction: row;

-o-flex-direction: row;

flex-direction: row;

}

/* 父元素-横向换行 */

.flex-hw {

/* 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;

}

/* 父元素-纵向排列(主轴) */

.flex-v {

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; /* NEW, Spec - Opera 12.1, Firefox 20+ */

/* 09版 */

-webkit-box-orient: vertical;

/* 12版 */

-webkit-flex-direction: column;

-moz-flex-direction: column;

-ms-flex-direction: column;

-o-flex-direction: column;

flex-direction: column;

}

/* 父元素-纵向换行 */

.flex-vw {

/* 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;

}

/* 子元素-显示在从左向右(从上向下)第1个位置,用于改变源文档顺序显示 */

.flex-1 {

-webkit-box-ordinal-group: 1; /* OLD - iOS 6-, Safari 3.1-6 */

-moz-box-ordinal-group: 1; /* OLD - Firefox 19- */

-ms-flex-order: 1; /* TWEENER - IE 10 */

-webkit-order: 1; /* NEW - Chrome */

order: 1; /* NEW, Spec - Opera 12.1, Firefox 20+ */

}

/* 子元素-显示在从左向右(从上向下)第2个位置,用于改变源文档顺序显示 */

.flex-2 {

-webkit-box-ordinal-group: 2; /* OLD - iOS 6-, Safari 3.1-6 */

-moz-box-ordinal-group: 2; /* OLD - Firefox 19- */

-ms-flex-order: 2; /* TWEENER - IE 10 */

-webkit-order: 2; /* NEW - Chrome */

order: 2; /* NEW, Spec - Opera 12.1, Firefox 20+ */

}
 
 
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  css flex