Performance: Holy grail layout with Bootstrap
This affects page load speed and rendering performance by how the layout structure impacts CSS calculations and browser painting.
<div class="container"> <header class="row"> <div class="col-12">Header</div> </header> <div class="row"> <aside class="col-2">Left Sidebar</aside> <main class="col-8">Main Content</main> <aside class="col-2">Right Sidebar</aside> </div> <footer class="row"> <div class="col-12">Footer</div> </footer> </div>
<header>Header</header> <div style="float:left; width:20%;">Left Sidebar</div> <div style="float:right; width:20%;">Right Sidebar</div> <div style="margin:0 20%;">Main Content</div> <footer>Footer</footer>
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Float-based holy grail layout | Moderate (multiple divs with floats) | Multiple reflows on resize and content change | Higher paint cost due to layout thrashing | [X] Bad |
| Bootstrap flexbox grid holy grail layout | Moderate (same DOM nodes) | Single reflow on resize | Lower paint cost with stable layout | [OK] Good |
row to group columns horizontally.container-fluid is for full-width container, col defines columns, and navbar is for navigation bars.<div class="row"> <div class="col-2">Left</div> <div class="col-8">Center</div> <div class="col-2">Right</div> </div>
<div class="row"> <div class="col-3">Left</div> <div class="col-6">Center</div> <div class="col-4">Right</div> </div>
col-12 col-md-2 means full width on small screens and 2 units wide on medium+ screens.col-12 for full width always.Pass the test and this pattern moves unknown