How to Align Footer (Div) to the Bottom of the Page

How to align footer (div) to the bottom of the page?

UPDATE

My original answer is from a long time ago, and the links are broken; updating it so that it continues to be useful.

I'm including updated solutions inline, as well as a working examples on JSFiddle. Note: I'm relying on a CSS reset, though I'm not including those styles inline. Refer to normalize.css

Solution 1 - margin offset

https://jsfiddle.net/UnsungHero97/ur20fndv/2/

HTML

<div id="wrapper">
<div id="content">
<h1>Hello, World!</h1>
</div>
</div>
<footer id="footer">
<div id="footer-content">Sticky Footer</div>
</footer>

CSS

html, body {
margin: 0px;
padding: 0px;
min-height: 100%;
height: 100%;
}

#wrapper {
background-color: #e3f2fd;
min-height: 100%;
height: auto !important;
margin-bottom: -50px; /* the bottom margin is the negative value of the footer's total height */
}

#wrapper:after {
content: "";
display: block;
height: 50px; /* the footer's total height */
}

#content {
height: 100%;
}

#footer {
height: 50px; /* the footer's total height */
}

#footer-content {
background-color: #f3e5f5;
border: 1px solid #ab47bc;
height: 32px; /* height + top/bottom paddding + top/bottom border must add up to footer height */
padding: 8px;
}

Solution 2 - flexbox

https://jsfiddle.net/UnsungHero97/oqom5e5m/3/

HTML

<div id="content">
<h1>Hello, World!</h1>
</div>
<footer id="footer">Sticky Footer</footer>

CSS

html {
height: 100%;
}

body {
display: flex;
flex-direction: column;
min-height: 100%;
}

#content {
background-color: #e3f2fd;
flex: 1;
padding: 20px;
}

#footer {
background-color: #f3e5f5;
padding: 20px;
}

Here's some links with more detailed explanations and different approaches:

  • https://css-tricks.com/couple-takes-sticky-footer/
  • https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
  • http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page

ORIGINAL ANSWER

Is this what you mean?

http://ryanfait.com/sticky-footer/

This method uses only 15 lines of CSS and hardly any HTML markup. Even better, it's completely valid CSS, and it works in all major browsers. Internet Explorer 5 and up, Firefox, Safari, Opera and more.

This footer will stay at the bottom of the page permanently. This means that if the content is more than the height of the browser window, you will need to scroll down to see the footer... but if the content is less than the height of the browser window, the footer will stick to the bottom of the browser window instead of floating up in the middle of the page.

Let me know if you need help with the implementation. I hope this helps.

How to make footer div always be at the bottom of page content

You need a set height into body,html tag.

Then you need a absolute position into #footer tag

For example like this:

html,
body {
margin:0;
padding:0;
height:100%;
}
#container {
min-height:100%;
position:relative;
}
#header {
background:#ff0;
padding:10px;
}
#body {
padding:10px;
padding-bottom:60px; /* adjust to footer height */
}
#footer {
position:absolute;
bottom:0;
width:100%;
height:60px; /* height of the footer */
background:#6cf;
}
<div id="container">
<div id="header"></div>
<div id="body"></div>
<div id="footer"></div>
</div>

How do you get the footer to stay at the bottom of a Web page?

To get a sticky footer:

  1. Have a <div> with class="wrapper" for your content.

  2. Right before the closing </div> of the wrapper place the
    <div class="push"></div>.

  3. Right after the closing </div> of the wrapper place the
    <div class="footer"></div>.

* {
margin: 0;
}
html, body {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -142px; /* the bottom margin is the negative value of the footer's height */
}
.footer, .push {
height: 142px; /* .push must be the same height as .footer */
}

How to align the footer at the bottom center in HTML

At first bottom value should be in px or %. Check this CSS : BOTTOM , and it will work only if you combined it with any position property, Check this CSS:POSITION

And if you want place the footer always at the bottom of your page you can use a combination of position:fixed and bottom:<value>.

And finally set the div width:100% to make it occupy the whole width of the browser window
like this,

 #footer {  
bottom : 2px;
height : 40px;
margin-top : 40px;
text-align: center;
vertical-align: middle;
position:fixed;
width:100%;
}

CSS to make HTML page footer stay at bottom of the page with a minimum height, but not overlap the page

A simple method is to make the body 100% of your page, with a min-height of 100% too. This works fine if the height of your footer does not change.

Give the footer a negative margin-top:

footer {
clear: both;
position: relative;
height: 200px;
margin-top: -200px;
}

Footer is not aligning to the bottom of the page

UPDATED

I did modify some of your CSS, you can check it out here

https://jsfiddle.net/wmLvqyj4/3/

For the mobile's screen size, it's too small for your form but tablet and desktop's are good

OLD ANSWER

I cannot run your CSS properly but can suggest you to do this way https://jsfiddle.net/479dnqy2/1/

Usually, a page footer is a static content, so we briefly know its height. You can set your page content's height with this formula your content height = full page height - footer height

.page-content {
min-height: calc(100vh - 10rem); /*10rem is the size of footer*/
}

.page-footer {
height: 10rem; /*the fixed height of the footer*/
}

How to align content of a div to the bottom

Relative+absolute positioning is your best bet:

#header {
position: relative;
min-height: 150px;
}

#header-content {
position: absolute;
bottom: 0;
left: 0;
}

#header, #header * {
background: rgba(40, 40, 100, 0.25);
}
<div id="header">
<h1>Title</h1>
<div id="header-content">And in the last place, where this might not be the case, they would be of long standing, would have taken deep root, and would not easily be extirpated. The scheme of revising the constitution, in order to correct recent breaches of it, as well as for other purposes, has been actually tried in one of the States.</div>
</div>


Related Topics



Leave a reply



Submit