以下问题是我的jsFiddle:http://jsfiddle.net/arelia/Rruxf/
我想要一个位于身体顶部的标题和一个停留在身体最底部的页脚。我在页眉和页脚之间有一个内容div(位置:相对),当我在div周围设置一个边距时,我的绝对定位的页眉和页脚从它们的顶部/底部位置移动该边距的高度(这也发生在我尝试在div中的段落上方和下方设置保证金。在小提琴中你可以看到页脚没有连接到底部,即使它是绝对定位的(我继续前进并使标题静止,因为静态给出了预期的结果)。 如何将页眉和页脚定位到正文的顶部和底部,而不是让中间的内容移动这两个元素?如果位置:绝对元素被移出流程,为什么会什么都影响了他们的位置?
我已经尝试在这里搜索Google和#34; CSS边距影响绝对值"和其他一些短语无济于事。我在开发人员工具中使用它时发现了这一点:
答案 0 :(得分:2)
body
高度本身不受其中元素底部边距的影响。 body
的底部,因为通过将高度设置为100%
,您已将body
设置为视口高度。body
内的元素远离视口的底部,从而导致body
本身与距离视口的底部。然后,当您将一个元素放置到body
时,它将被拉空,因为正文未与视口底部齐平。这就是你在小提琴的页脚区看到的内容。fixed
的原始答案是一种方法,完全基于你的粗体问题(他已经修改过它)。但是,您在评论中澄清了您真正想要的是“如果内容很短,我希望页脚底部的页脚。如果内容很长,我希望它遵循内容并触摸左下角和右下角这页纸。”亚当对fixed
定位的原始答案不会实现(正如他也意识到的那样)。更确切地说:html {height: 100%}
body {min-height: 100%;}
div {
margin: 20px 20px 0 20px; /* eliminate your bottom margin */
padding-bottom: 50px; /* use bottom padding to get space for footer */
}
答案 1 :(得分:1)