这是我针对以下问题的 jsFiddle:http: //jsfiddle.net/arelia/Rruxf/
我想要一个位于正文顶部的页眉和一个位于正文底部的页脚。我在页眉和页脚之间有一个内容 div(位置:相对),当我在 div 周围设置边距时,我绝对定位的页眉和页脚从它们的顶部/底部位置移动了该边距的高度(这也发生在我尝试在 div 中的段落上方和下方设置边距)。在小提琴中,您可以看到页脚没有附加到底部,即使它是绝对定位的(我继续并将页眉设为静态,因为静态给出了预期的结果)。如何将页眉和页脚定位到正文的顶部和底部,而不让中间的内容移动这两个元素?如果 position: absolute 元素被移出流程,为什么会影响它们的位置呢?
我试过在这里和谷歌搜索“CSS 边距影响绝对”和其他一些短语无济于事。我在开发人员工具中使用它时发现了这一点:
- 指标显示 body 是 html 元素的高度减去一个边距(仍然影响页脚的边距)。因此,body 必须拉伸到内容 div 的高度,因为在 body 内的文档流中没有其他东西可以定义其高度。但是该高度在内容结束处而不是在边距之后结束。它不应该包括边距吗?
- 如果我将主体的高度设置为 100%,页脚将自身定位到视口的底部,然后在我滚动时保持固定在该位置。为什么它不将自己附加到身体的底部而不是视口的底部?