三明治布局指的是,页面在垂直方向上,分成三部分:页眉、内容区、页脚。这个布局会根据设备宽度,自动适应,并且不管内容区有多少内容,页脚始终在容器底部。
display: flex
1 | body { |
display: grid
1 | body { |
核心代码是grid-template-rows,指定垂直高度怎么划分,这里是从上到下分成三部分。第一部分(页眉)和第三部分(页脚)的高度都为auto
,即本来的内容高度;第二部分(内容区)的高度为1fr
,即剩余的所有高度,这可以保证页脚始终在容器的底部。
calc()
要求header和footer定高。
1 | body { |
See the Pen CSS-calc-三明治布局 by ly023 (@ly023) on CodePen.
display: table(不推荐)
把三行都看做是表格。
缺点:不灵活,高度设置等受限。
1 | <div class="container"> |
1 | body { |