I've set up a position absolute footer but it covers the content as more content is added.
I want it to be at the bottom of the page even if there is not enough content to push it down
<div id="wrapper">
<div id="header"></div>
<div id="content"></div>
<div id="footer"></div>
</div>
CSS
#wrapper{
position: relative;
min-height: 100%;
}
#content{
width: 900px;
margin-top: 20px;
}
#footer{
width: 100%;
height: 140px;
position: absolute;
bottom: 0;
}
I'm not positive this is exactly what you are looking for but hopefully this helps. If you want your footer to always be at the bottom of each page, whether there is enough content to push it down or not, you need what people call a "sticky" footer. You could probably find a few different ways to do it on Google but this is what I do, although it requires that you know the height of your footer div.
First take your footer div out of your wrapper, just put the div after your ending div tag that correlates for #wrapper. Then add padding-bottom:140px; box-sizing:border-box; to #wrapper in your css. Note that it is the same height as your footer, this is important! The box-sizing will tell your wrapper div that the padding should not be added to the 100% height, but instead taken away. This will make sure you don't get any scrollbars unless you actually have enough content to need them.
Second, take away position:absolute; bottom:0; clear:both; from #footer, you shouldn't need these anymore. Then add margin-top:-140px;
lastly, make sure you have these in your css: body{ height:100% } html{ height:100% }
Hopefully this works for you, what it should do is guarantee no overlap from the footer and your content, as well as make sure your footer always starts at the bottom of the page (unless you have more content to push it even further down).