CSS3弹性伸缩布局(中)——flexbox布局

混合过渡版

上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局。

混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功能大同小异。

在这里我们还是采用上一篇的文件,使用混合过渡代码实现IE10的伸缩布局。

首先,我们要设置伸缩盒display属性,它有两个值

CSS3弹性伸缩布局(中)——flexbox布局

因为是针对IE10浏览器的,Chrome,Firefox,Opera不支持,所以我们用IE浏览器来做测试

div{
display: -ms-flexbox;
}

CSS3弹性伸缩布局(中)——flexbox布局

下面我们来测试下过渡版本的属性吧

1.flex-direction

//flex-direction和我们上一篇博客中的box-orient属性一样,设置伸缩项目的排列方式

CSS3弹性伸缩布局(中)——flexbox布局

四个值我们都试试吧

-ms-flex-direction: row;

CSS3弹性伸缩布局(中)——flexbox布局

-ms-flex-direction: row-reverse;

CSS3弹性伸缩布局(中)——flexbox布局

-ms-flex-direction: column;

CSS3弹性伸缩布局(中)——flexbox布局

-ms-flex-direction: column-reverse;

CSS3弹性伸缩布局(中)——flexbox布局

2.flex-wrap

//类似于旧版本的base-line,但是我上一篇没有讲base-line,因为没有浏览器支持它

CSS3弹性伸缩布局(中)——flexbox布局

当我们缩小浏览器时,默认效果如下,不换行

-ms-flex-wrap: nowrap;

CSS3弹性伸缩布局(中)——flexbox布局

-ms-flex-wrap: wrap;//换行

CSS3弹性伸缩布局(中)——flexbox布局

-ms-flex-wrap: wrap-reverse;//换行,换到上一行

CSS3弹性伸缩布局(中)——flexbox布局

3.flex-flow

//前面两个属性的简写方式

-ms-flex-flow: row wrap;

CSS3弹性伸缩布局(中)——flexbox布局

4.flex-pack

//flex-pack和旧版本的box-pack一样,设置项目的分布方式

CSS3弹性伸缩布局(中)——flexbox布局

就只试一个吧

-ms-flex-pack: end;

CSS3弹性伸缩布局(中)——flexbox布局

5.flex-align

//同旧版的box-align,设置处理伸缩项目的额外空间

CSS3弹性伸缩布局(中)——flexbox布局

我们就只试下center,其他读者可自行尝试

-ms-flex-align: center;

CSS3弹性伸缩布局(中)——flexbox布局

6.flex

//同旧版本的box-flex,设置分配伸缩项目的比例

p:nth-child(1){
-ms-flex:1;
}
p:nth-child(2){
-ms-flex:3;
}
p:nth-child(3){
-ms-flex:1;
}

CSS3弹性伸缩布局(中)——flexbox布局

7.flex-order

//同旧版本的box-ordinal-group,用来控制伸缩项目的出现顺序

p:nth-child(1){
-ms-flex:1;
-ms-flex-order:3;
}
p:nth-child(2){
-ms-flex:3;
-ms-flex-order:2;
}
p:nth-child(3){
-ms-flex:1;
-ms-flex-order:1;
}

CSS3弹性伸缩布局(中)——flexbox布局

小结

这一篇关于过渡版的就到此结束了,下一篇新版flex布局才是重头戏,记得持续关注哦!

上一篇:CSS3弹性伸缩布局(上)——box布局


下一篇:CSS3(5)---伸缩布局(Flex)