diff --git a/client/covers/StickyFooterCover.jsx b/client/covers/StickyFooterCover.jsx
new file mode 100644
index 0000000..57e3409
--- /dev/null
+++ b/client/covers/StickyFooterCover.jsx
@@ -0,0 +1,38 @@
+import React from 'react';
+
+import Frame from '../placeholders/Frame';
+import Line from '../placeholders/Line';
+
+const StickyFooterCover = () => {
+ return (
+
+
+
+ );
+};
+
+export default StickyFooterCover;
diff --git a/client/layouts/StickyFooter.jsx b/client/layouts/StickyFooter.jsx
new file mode 100644
index 0000000..c26ed41
--- /dev/null
+++ b/client/layouts/StickyFooter.jsx
@@ -0,0 +1,57 @@
+import React from 'react';
+
+import DetailsLayout from '../DetailsLayout';
+import BrowserFrame from '../placeholders/BrowserFrame';
+import SampleCode from '../SampleCode';
+import useDocumentTitle from '../useDocumentTitle';
+
+const StickyFooter = () => {
+ useDocumentTitle('CSS Layout ∙ Sticky footer');
+
+ return (
+
+
+ The footer is always sticky at the bottom if the main content is short.
+
+
+
+ Header
+
+
+ Content
+
+
+ Footer
+
+