一、网格布局
最简单的网格布局,就是平均分布,在容器里面平均分配空间,但是要设置项目的自动缩放。
比较简单不做过多解释,代码如下
二、百分比布局
某个网格的宽度是固定的百分比,其余网格平均分配剩余空间
flex 属性,是以下三个属性的简写:
flex-grow:0; 定义弹性盒子项的拉伸因子,即子项分配父项剩余空间的比,默认值为 0
flex-shrink:1; 指定了 flex 元素的收缩规则,子项的收缩所占的份数,默认值为1
[ 当所有子项相加的宽度大于父项的宽度,每个子项减少的多出的父项宽度的 1/n ]
felx-basis:auto; 指定了 flex 元素在主轴方向上的初始大小,即子项的宽度
代码如下
三、圣杯布局
圣杯布局指的是一种最常见的网站布局,页面从上到下,分成三个部分,头部、躯干、尾部,其中躯干又水平分成三个栏,从左到右为:导航栏、主栏、副栏
如果是小屏幕,躯干的三栏自动变为垂直叠加。就需要加入下main部分代码
四、悬挂式布局
有时候,主栏的左侧或者右侧需要添加一个图片栏,代码实现如下:
五、固定的底栏
有时候,页面内容太少,无法占满一屏的高度,底栏就会太高到页面的中间,这时候采用flex布局,让底部总是出现在页面的底部。
当内容超过一个屏幕的时候,footer部分会被推送到底部;
此实现方法跟sticky footer的布局效果类似,感兴趣的可以查看我的另一篇文章 sticky footer布局。
六、流式布局
每行的项目数固定,会自动分行
总结:
对于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