圣杯布局
两边固定宽度,中间自适应
1. 子元素都左浮动,父元素 padding 留出空间
2. 中间元素宽度100%
3. 左右元素相对定位 配合负边距
缺点: 如果center部分宽度效于left部分,会造成布局塌陷,旁边两列不能自动填充高度
left
right
双飞翼布局
圣杯布局的优化,实现内容和布局的分离
1.在圣杯布局的基础上
2.设定 parent 元素的最小宽度
3.center 元素再增加一个子元素来撑开双边
优点: 避免使用了无用的定位,由于父元素使用了 overflow 三个部分都能撑开高度
缺点: 增加了一个 inner 层
left
right
left
表格布局
1.父元素 diplay:table
2.子元素 display: table-cell
3.左右两边设置宽度,中间元素不设置宽度
优点: 实现等高布局,兼容性很好,如果需要兼容flex不能用的情况,优先考虑此种实现
缺点: 无法设置栏边距,等高布局无法改变,对SEO不友好
right
left
flexbox布局
1.父元素 diplay:flex
2.左右两边 设置宽度
3.中间元素 flex: 1
4.父元素 align-items: stretch(填满)/start/end/center;控制是否填满等高
优点:书写方便简洁,可以等高也可以不等高,基本就是一个属性设置的区别,移动端常用
缺点:PC端IE10才开始支持
right
left
网格布局
1.父元素diplay:grid
2.父元素设置 grid-template-columns
3.align-items: stretch(填满)/start/end/center;控制是否填满等高
优点:布局强大,二维布局能力出色,可以玩出很多骚操作。未来最流弊的布局方案了
缺点:ie 谷歌一条街,打听打听谁是爹
right