1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > css 弹性盒子兼容写法 弹性布局flex 兼容写法

css 弹性盒子兼容写法 弹性布局flex 兼容写法

时间:2024-05-11 02:09:14

相关推荐

css 弹性盒子兼容写法 弹性布局flex 兼容写法

兼容浏览器版本

Chrome 21+

Opera 12.1+

Firefox 22+

Safari 6.1+

IE 10+

浏览器对最新flexbox规范的支持情况:

Chrome 29+

Firefox 28+

Internet Explorer 11+

Opera 17+

Safari 6.1+ (前缀 -webkit-)

Android 4.4+

iOS 7.1+ (前缀 -webkit-)

定义弹性布局盒子

display

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+/

display: -webkit-box;

display: -moz-box;

display: -ms-flexbox;

display: -webkit-flex;

display: flex;

定义子元素排列

flex-direction

-webkit-box-orient:vertical;

-webkit-box-direction:normal;

-moz-box-orient:vertical;

-moz-box-direction:normal;

flex-direction:column;

-webkit-flex-direction:column;

横向排列布局

justify-content

-webkit-justify-content:center;

justify-content:center;

-moz-box-pack:center;

-webkit--moz-box-pack:center;

box-pack:center;

竖向排列布局

align-items

align-items:center;

-webkit-align-items:center;

box-align:center;

-moz-box-align:center;

-webkit-box-align:center;

伸缩盒子布局兼容

flex

box-flex:num;

-webkit-box-flex:num;

-moz-box-flex:num;

flex:num;

-webkit-flex:num;

汇总

/* flex弹性盒布局兼容性写法样式文件

* 常用类

* display__flex

* flex_direction__column

* flex_wrap__wrap

* justify_content__center

* justify_content__space_between

* justify_content__space_around

* align_items__center

* flex_grow__1

* flex_shrink__0

*/

/*

设置在弹性容器上的属性

*/

.display__flex {

display: -webkit-box;

display: -ms-flexbox;

display: flex;

}

/*flex-direction属性决定主轴的方向(即项目的排列方向)。*/

.flex_direction__row_reverse {

-webkit-box-orient: horizontal;

-webkit-box-direction: reverse;

-ms-flex-direction: row-reverse;

flex-direction: row-reverse;

}

.flex_direction__column {

-webkit-box-orient: vertical;

-webkit-box-direction: normal;

-ms-flex-direction: column;

flex-direction: column;

}

.flex_direction__column_reverse {

-webkit-box-orient: vertical;

-webkit-box-direction: reverse;

-ms-flex-direction: column-reverse;

flex-direction: column-reverse;

}

/*默认情况下,项目都排在一条线(又称"轴线")上。flex-wrap属性定义,如果一条轴线排不下,如何换行。*/

.flex_wrap__nowrap {

-ms-flex-wrap: nowrap;

flex-wrap: nowrap;

}

.flex_wrap__wrap {

-ms-flex-wrap: wrap;

flex-wrap: wrap;

}

.flex_wrap__wrap_reverse {

-ms-flex-wrap: wrap-reverse;

flex-wrap: wrap-reverse;

}

/*justify-content属性定义了项目在主轴上的对齐方式。*/

.justify_content__flex_start {

-webkit-box-pack: start;

-ms-flex-pack: start;

justify-content: flex-start;

}

.justify_content__flex_end {

-webkit-box-pack: end;

-ms-flex-pack: end;

justify-content: flex-end;

}

.justify_content__center {

-webkit-box-pack: center;

-ms-flex-pack: center;

justify-content: center;

}

.justify_content__space_between {

-webkit-box-pack: justify;

-ms-flex-pack: justify;

justify-content: space-between;

}

.justify_content__space_around {

-ms-flex-pack: distribute;

justify-content: space-around;

}

/*align-items属性定义项目在交叉轴上如何对齐。*/

.align_items__flex_start {

-webkit-box-align: start;

-ms-flex-align: start;

align-items: flex-start;

}

.align_items__flex_end {

-webkit-box-align: end;

-ms-flex-align: end;

align-items: flex-end;

}

.align_items__center {

-webkit-box-align: center;

-ms-flex-align: center;

align-items: center;

}

.align_items__baseline {

-webkit-box-align: baseline;

-ms-flex-align: baseline;

align-items: baseline;

}

/*align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。*/

.align_content__flex_start {

-ms-flex-line-pack: start;

align-content: flex-start;

}

.align_content__flex_end {

-ms-flex-line-pack: end;

align-content: flex-end;

}

.align_content__center {

-ms-flex-line-pack: center;

align-content: center;

}

.align_content__space_between {

-ms-flex-line-pack: justify;

align-content: space-between;

}

.align_content__space_around {

-ms-flex-line-pack: distribute;

align-content: space-around;

}

/*

设置在弹性项目上的属性

*/

/*order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。以下是兼容样式写法示例,可根据需要修改属性值。*/

.order__1 {

-webkit-box-ordinal-group: 2;

-ms-flex-order: 1;

order: 1;

}

/*flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。以下是兼容样式写法示例,可根据需要修改属性值。*/

.flex_grow__1 {

-webkit-box-flex: 1;

-ms-flex-positive: 1;

flex-grow: 1;

}

/*flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。以下是兼容样式写法示例,可根据需要修改属性值。*/

.flex_shrink__0 {

-ms-flex-negative: 0;

flex-shrink: 0;

}

/*

flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

以下是兼容样式写法示例,可根据需要修改属性值。

*/

.flex_basis__100px {

-ms-flex-preferred-size: 100px;

flex-basis: 100px;

}

/*align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。*/

.align_self__flex_start {

-ms-flex-item-align: start;

align-self: flex-start;

}

.align_self__flex_end {

-ms-flex-item-align: end;

align-self: flex-end;

}

.align_self__center {

-ms-flex-item-align: center;

align-self: center;

}

.align_self__baseline {

-ms-flex-item-align: baseline;

align-self: baseline;

}

safari

父元素设为display:flex;没有问题,但子元素flex:1这种标注在safari中不能用!子元素使用的话只能设为flex:auto,如果想实现flex:1这种效果,请用:

flex-grow:1;

flex-shrink:1;

flex-basis:0;

这三个拆分的元素代替,flex属性就是上面三个属性的复合简写。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。