Auto Layout Columns: Creating Grids Without Defining Column Sizes Explicitly
Bootstrap 5 allows you to create grid layouts where column sizes are automatically determined based on the content. Use the .col
class to create columns that dynamically adjust their width without specifying grid units.
Key Topics
- Basic Auto Layout with .col
- Mixing Auto Layout and Fixed Columns
- Responsive Auto Layout
- Complete Auto Layout Example
Basic Auto Layout with .col
Use the .col
class to create columns that distribute space equally across the row.
<div class="container">
<div class="row">
<div class="col">Column 1</div>
<div class="col">Column 2</div>
<div class="col">Column 3</div>
</div>
</div>
Explanation: All three columns share equal width because of the .col
class.
Mixing Auto Layout and Fixed Columns
Combine .col
with fixed-width column classes like .col-*
to create mixed layouts.
<div class="container">
<div class="row">
<div class="col-4">Fixed Column (4 units)</div>
<div class="col">Auto Layout Column</div>
</div>
</div>
Explanation: The first column occupies 4 grid units, while the second column automatically adjusts its size to fill the remaining space.
Responsive Auto Layout
Use breakpoint-specific classes like .col-md
for responsive auto-layout columns.
<div class="container">
<div class="row">
<div class="col-md">Auto Column 1</div>
<div class="col-md">Auto Column 2</div>
<div class="col-md">Auto Column 3</div>
</div>
</div>
Explanation: Columns will distribute space equally on medium and larger devices, but stack vertically on smaller screens.
Complete Auto Layout Example
The following example demonstrates various auto layout configurations, including mixed and responsive layouts.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bootstrap Auto Layout Example</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container my-4">
<h2 class="text-center">Bootstrap Auto Layout</h2>
<div class="row mb-3">
<div class="col">Column 1</div>
<div class="col">Column 2</div>
<div class="col">Column 3</div>
</div>
<div class="row mb-3">
<div class="col-4">Fixed Column</div>
<div class="col">Auto Column</div>
</div>
<div class="row">
<div class="col-md">Responsive Column 1</div>
<div class="col-md">Responsive Column 2</div>
<div class="col-md">Responsive Column 3</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
Explanation: This example showcases how to use auto layout for equal-width columns, mix auto and fixed columns, and make the layout responsive across breakpoints.
Key Takeaways
- Use the
.col
class for auto-layout columns that dynamically adjust their width. - Combine
.col
with fixed column classes for mixed layouts. - Apply breakpoint-specific auto-layout classes like
.col-md
for responsive designs.