flex布局实战

一、网格布局

最简单的网格布局,就是平均分布,在容器里面平均分配空间,但是要设置项目的自动缩放。

比较简单不做过多解释,代码如下


flex布局实战

二、百分比布局

某个网格的宽度是固定的百分比,其余网格平均分配剩余空间

flex 属性,是以下三个属性的简写:

flex-grow:0; 定义弹性盒子项的拉伸因子,即子项分配父项剩余空间的比,默认值为 0

flex-shrink:1; 指定了 flex 元素的收缩规则,子项的收缩所占的份数,默认值为1

[ 当所有子项相加的宽度大于父项的宽度,每个子项减少的多出的父项宽度的 1/n ]

felx-basis:auto; 指定了 flex 元素在主轴方向上的初始大小,即子项的宽度

代码如下


flex布局实战

三、圣杯布局

圣杯布局指的是一种最常见的网站布局,页面从上到下,分成三个部分,头部、躯干、尾部,其中躯干又水平分成三个栏,从左到右为:导航栏、主栏、副栏


flex布局实战

如果是小屏幕,躯干的三栏自动变为垂直叠加。就需要加入下main部分代码

flex布局实战

四、悬挂式布局

有时候,主栏的左侧或者右侧需要添加一个图片栏,代码实现如下:


flex布局实战

五、固定的底栏

有时候,页面内容太少,无法占满一屏的高度,底栏就会太高到页面的中间,这时候采用flex布局,让底部总是出现在页面的底部。

当内容超过一个屏幕的时候,footer部分会被推送到底部;

flex布局实战

此实现方法跟sticky footer的布局效果类似,感兴趣的可以查看我的另一篇文章 sticky footer布局。

六、流式布局

每行的项目数固定,会自动分行


flex布局实战

总结:

对于flex布局,最重要的是要给父盒子设置diplay:flex;然后根据子盒子的需要,定义flex不同的值。

此文章是学习阮一峰老师关于flex布局的文章学习,有需要深入了解的请查看以下链接

flex实战:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html

flex理论基础(语法知识)http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

上一篇:《Android 源码设计模式解析与实战》——第1章,第1.6节更好的可扩展性——迪米特原则


下一篇:页面返回/取消到上个页面back(-1)和go(-1)的区别