<div id="container"><div style="height: 100%; border:1px solid #ff0000;"><!-- Other elements here --></div></div><div id="copyright" style="position:relative;border:1px solid #00ff00;top:-25px">Copyright Foo web designs</div>
#container {/* So the #container most have a fixed height */height: 300px;line-height: 300px;background:Red;}
#container > * {/* Restore Line height to Normal */line-height: 1.2em;}
#copyright {display:inline-block;vertical-align:bottom;width:100%; /* Let it be a block */background:green;}
<div id="container">Some content you don't want affected by the "bottom floating" div<div>supports not just text</div>
<div class="foot">Some other content you want kept to the bottom<div>this is in a div</div></div></div>
<div id="Container"><div id="Copyright">Copyright Foo web designs</div><div id="Stretch"><!-- Other elements here --><div>Element 1</div><div>Element 2</div></div></div>
html,body {height: 100%;margin: 0;}.wrapper {min-height: 100%;/* Equal to height of footer *//* But also accounting for potential margin-bottom of last child */margin-bottom: -50px;}.footer{background: #000;text-align: center;color: #fff;}.footer,.push {height: 50px;}
<body><div class="supercontainer"><div class="container"><div class="title">This part represents the title and it is placed on top</div><div class="content">This one represents the body and it is placed below the title</div><div class="footer">And this one is the footer. It should always be at the bottom of the container</div></div><div class="other-container"><div class="title">This part represents the title and it is placed on top.</div><div class="content">This one represents the body and it is placed below the title. This one is longer than the first one to stretch the parent div. Since it is longer, the footers of the two containers are not alinged.</div><div class="footer">And this one is the footer. It should always be at the bottom of the container</div></div></div></body>
<body><div class="supercontainer"><div class="container"><div class="title">This part represents the title and it is placed on top</div><div class="content">This one represents the body and it is placed below the title</div><div class="footer">And this one is the footer. It should always be at the bottom of the container</div></div><div class="other-container"><div class="title">This part represents the title and it is placed on top.</div><div class="content">This one represents the body and it is placed below the title. This one is longer than the first one to stretch the parent div. Since it is longer, the footers of the two containers are not alinged.</div><div class="footer">And this one is the footer. It should always be at the bottom of the container</div></div></div></body>
<body><div class="supercontainer"><div class="container"><div class="title">This part represents the title and it is placed on top</div><div class="content">This one represents the body and it is placed below the title</div><div class="footer">And this one is the footer. It should always be at the bottom of the container</div></div><div class="other-container"><div class="title">This part represents the title and it is placed on top.</div><div class="content">This one represents the body and it is placed below the title. This one is longer than the first one to stretch the parent div. Since it is longer, the footers of the two containers are not alinged.</div><div class="footer">And this one is the footer. It should always be at the bottom of the container</div></div></div></body>