The Holy Grail layout helps you create a webpage with a header, footer, and three columns in the middle. It keeps the main content in the center and sidebars on the sides.
Holy grail layout in Tailwind
<div class="flex flex-col min-h-screen"> <header class="bg-gray-300 p-4">Header</header> <main class="flex flex-1"> <aside class="w-1/4 bg-gray-200 p-4">Left Sidebar</aside> <section class="flex-1 bg-white p-4">Main Content</section> <aside class="w-1/4 bg-gray-200 p-4">Right Sidebar</aside> </main> <footer class="bg-gray-300 p-4">Footer</footer> </div>
Use flex and flex-col to stack header, main, and footer vertically.
Inside main, use flex to place sidebars and content horizontally.
<div class="flex flex-col min-h-screen"> <header class="bg-blue-200 p-3">Header</header> <main class="flex flex-1"> <aside class="w-1/5 bg-blue-100 p-3">Left Sidebar</aside> <section class="flex-1 bg-white p-3">Main Content</section> <aside class="w-1/5 bg-blue-100 p-3">Right Sidebar</aside> </main> <footer class="bg-blue-200 p-3">Footer</footer> </div>
<div class="flex flex-col min-h-screen"> <header class="bg-green-300 p-5">Header</header> <main class="flex flex-1"> <aside class="w-1/3 bg-green-100 p-5">Left Sidebar</aside> <section class="flex-1 bg-white p-5">Main Content</section> <aside class="w-1/3 bg-green-100 p-5">Right Sidebar</aside> </main> <footer class="bg-green-300 p-5">Footer</footer> </div>
This code creates a full page layout with a header on top, footer at bottom, and three columns in the middle using Tailwind CSS. The center column expands to fill space, sidebars have fixed width.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Holy Grail Layout with Tailwind</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="flex flex-col min-h-screen"> <header class="bg-gray-300 p-4 text-center font-semibold">Header</header> <main class="flex flex-1"> <aside class="w-1/4 bg-gray-200 p-4">Left Sidebar</aside> <section class="flex-1 bg-white p-4">Main Content</section> <aside class="w-1/4 bg-gray-200 p-4">Right Sidebar</aside> </main> <footer class="bg-gray-300 p-4 text-center">Footer</footer> </body> </html>
Use min-h-screen on the container to make the layout fill the full browser height.
Use flex-1 on the main content section to make it grow and fill available space.
Tailwind's utility classes make it easy to adjust widths and spacing quickly.
The Holy Grail layout organizes a page with header, footer, and three columns in the middle.
Use Tailwind's flexbox utilities to create this layout easily and responsively.
The center column grows while sidebars keep fixed widths.