html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局

新版本

新版本的flex布局模型是2012年9月提出的工作草案,这个草案是由W3C推出的最新语法,这个版本立志于指定标准,让新式的浏览器全面兼容,在未来的浏览器更新换代中实现统一。

目前几乎大部分的浏览器都支持了。浏览器支持情况可以点击这里查看,下图为支持flex的情况

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第1张图片

//HTML代码部分

我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林

我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林

我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林

//CSS部分

p{

150px;

margin:5px;

padding: 5px;

border: 1px solid gray;

background: silver;

}

属性详解

首先和之前一样,先设置伸缩盒的display属性,有以下两个值

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第2张图片

div{

display: flex;

}

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第3张图片

注意,设为Flex布局以后,子元素的float、clear和vertical-align属性将失效

接下来我们来测试flex布局的属性

1.flex-direction

//同旧版本的box-orient,设置伸缩项目的排列方式

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第4张图片

我们四个值都试试

flex-direction: row;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第5张图片

flex-direction: row-reverse;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第6张图片

flex-direction: column;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第7张图片

flex-direction: column-reverse;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第8张图片

2.flex-wrap

//设置换行方式,类似旧版本的base-line,但是旧版本的base-line没有浏览器支持

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第9张图片

flex-wrap: nowrap;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第10张图片

flex-wrap: wrap;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第11张图片

flex-wrap: wrap-reverse;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第12张图片

3.flex-flow

//集合了flex-direction和flex-wrap的简写形式

flex-flow:row wrap;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第13张图片

4.justify-content

//同旧版本的box-pack,设置伸缩项目的对齐方式,或者说分布方式

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第14张图片

每个值都试试吧

justify-content: flex-start;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第15张图片

justify-content: flex-end;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第16张图片

justify-content: center;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第17张图片

justify-content: space-between;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第18张图片

justify-content: space-around;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第19张图片

5.align-items

//清理伸缩项目容器的额外空间,同旧版box-align

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第20张图片

还是一样,每个值都试下

align-items: flex-start;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第21张图片

align-items: flex-end;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第22张图片

align-items: center;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第23张图片

align-items: baseline;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第24张图片

align-items: stretch;

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第25张图片

6.align-self

//align-self和align-item都是清理额外空间,但它是单独清理

p:nth-child(1){

align-self: center;

}

html 伸缩布局,CSS3弹性伸缩布局(下)——flex布局_第26张图片

7.flex

//同旧版box-flex,用于控制伸缩项目的比例分配

p:nth-child(1){

flex: 1;

}

p:nth-child(2){

flex: 2;

}

p:nth-child(3){

flex: 1;

}

7a171fc9c24272d822b722f57d86a100.png

8.order

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

p:nth-child(1){

flex: 1;

order: 3;

}

p:nth-child(2){

flex: 2;

order: 1;

}

p:nth-child(3){

flex: 1;

order: 2;

}

ef82b5b5d1af8da9a3acaf1d68c43d4b.png

小结

如果觉得我讲的不好的话,也可以看看忨一峰的这篇Flex布局教程博客,希望能对你有所帮助。

好啦,三篇关于弹性布局的总算讲完拉,希望大家能好好运用flex布局,做出你的兼容式响应布局网页。

你可能感兴趣的:(html,伸缩布局)