常见布局

常见的布局有:

  • 居中

    • 水平居中

    • 垂直居中

    • 水平垂直居中

  • 两列布局

  • 三列布局

    • 普通三列布局

      • float + margin html 结构必须两个浮动元素在前

      • position + margin

    • 双飞翼布局 float + 负 margin

    • 圣杯布局 float + 负 margin

    • flex 解决方案

  • 三行自适应布局

  • 页脚置底(sticky footer)

两列布局:一列定宽 + 一列自适应

float + margin

flex

grid

三列布局

float + margin

注意 DOM 文档的书写顺序,先写两侧栏,再写主面板,如果更换位置,侧栏会被挤到下一列

优点:简单明了

缺点:渲染时先渲染了侧边栏,而不是比较重要的主面板。

圣杯布局

float + 负 margin + padding + position

优点:中间栏内容优先渲染,有利于 SEO

缺点:实现相对复杂,需要更多的 CSS 样式调整。如果将浏览器无限放大时,「圣杯」将会「破碎」掉,当 main 部分设置了一个较小的宽度时就会发生布局混乱。因为 margin-left: -100%,是参考的容器宽度,给 main 部分设置了一个较小的宽度,侧边栏再使用 margin-left: -100%,往左移动的距离就太多了,会移出屏幕。

双飞翼布局

优点:简化了 CSS 布局,解决了圣杯布局中容器 padding 带来的一些限制,因为外层 main-wrap 的宽度始终是 100%,margin-left: -100%,就一直是正常的。

缺点:需要额外的标签包裹中间栏,增加了 HTML 结构的复杂度。

三行自适应布局(三明治布局)

header(定高) + main(高度自适应,最大宽度 1200px) + footer(定高)

position

flex

grid

链接

Last updated