Skip to content

Commit

Permalink
Flexbox based sticky footer example (#26674)
Browse files Browse the repository at this point in the history
* Flexbox based sticky footer

* Update guide message

* Use utility classes instead of custom CSS
  • Loading branch information
ysds authored and mdo committed Jul 25, 2018
1 parent d80635c commit ab53ccc
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 55 deletions.
16 changes: 9 additions & 7 deletions site/docs/4.1/examples/sticky-footer-navbar/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!doctype html>
<html lang="en">
<html lang="en" class="h-100">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
Expand All @@ -16,7 +16,7 @@
<link href="sticky-footer-navbar.css" rel="stylesheet">
</head>

<body>
<body class="d-flex flex-column h-100">

<header>
<!-- Fixed navbar -->
Expand Down Expand Up @@ -46,13 +46,15 @@
</header>

<!-- Begin page content -->
<main role="main" class="container">
<h1 class="mt-5">Sticky footer with fixed navbar</h1>
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with <code>padding-top: 60px;</code> on the <code>body &gt; .container</code>.</p>
<p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p>
<main role="main" class="flex-shrink-0">
<div class="container">
<h1 class="mt-5">Sticky footer with fixed navbar</h1>
<p class="lead">Pin a footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS. A fixed navbar has been added with <code>padding-top: 60px;</code> on the <code>main &gt; .container</code>.</p>
<p>Back to <a href="../sticky-footer">the default sticky footer</a> minus the navbar.</p>
</div>
</main>

<footer class="footer">
<footer class="footer mt-auto py-3">
<div class="container">
<span class="text-muted">Place sticky footer content here.</span>
</div>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,15 @@
/* Sticky footer styles
-------------------------------------------------- */
html {
position: relative;
min-height: 100%;
}
body {
/* Margin bottom by footer height */
margin-bottom: 60px;
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
/* Set the fixed height of the footer here */
height: 60px;
line-height: 60px; /* Vertically center the text there */
background-color: #f5f5f5;
}


/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */

body > .container {
main > .container {
padding: 60px 15px 0;
}

.footer {
background-color: #f5f5f5;
}

.footer > .container {
padding-right: 15px;
padding-left: 15px;
Expand Down
16 changes: 9 additions & 7 deletions site/docs/4.1/examples/sticky-footer/index.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!doctype html>
<html lang="en">
<html lang="en" class="h-100">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
Expand All @@ -16,16 +16,18 @@
<link href="sticky-footer.css" rel="stylesheet">
</head>

<body>
<body class="d-flex flex-column h-100">

<!-- Begin page content -->
<main role="main" class="container">
<h1 class="mt-5">Sticky footer</h1>
<p class="lead">Pin a fixed-height footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
<p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p>
<main role="main" class="flex-shrink-0">
<div class="container">
<h1 class="mt-5">Sticky footer</h1>
<p class="lead">Pin a footer to the bottom of the viewport in desktop browsers with this custom HTML and CSS.</p>
<p>Use <a href="../sticky-footer-navbar">the sticky footer with a fixed navbar</a> if need be, too.</p>
</div>
</main>

<footer class="footer">
<footer class="footer mt-auto py-3">
<div class="container">
<span class="text-muted">Place sticky footer content here.</span>
</div>
Expand Down
23 changes: 4 additions & 19 deletions site/docs/4.1/examples/sticky-footer/sticky-footer.css
Original file line number Diff line number Diff line change
@@ -1,22 +1,3 @@
/* Sticky footer styles
-------------------------------------------------- */
html {
position: relative;
min-height: 100%;
}
body {
margin-bottom: 60px; /* Margin bottom by footer height */
}
.footer {
position: absolute;
bottom: 0;
width: 100%;
height: 60px; /* Set the fixed height of the footer here */
line-height: 60px; /* Vertically center the text there */
background-color: #f5f5f5;
}


/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */
Expand All @@ -26,3 +7,7 @@ body {
max-width: 680px;
padding: 0 15px;
}

.footer {
background-color: #f5f5f5;
}

0 comments on commit ab53ccc

Please sign in to comment.