Responsive Grid

The grid is a key element in building responsive websites. It enables our websites to adapt to multiple devices such as desktop computers, laptops, tablets and smart phones.

Containers

Containers are the most basic layout element in Bootstrap and are required when using our default grid system. Choose from a responsive, fixed-width container (meaning its max-width changes at each breakpoint) or fluid-width (meaning it’s 100% wide all the time).

Fixed-width Container
Fluid-width Container
<div class="container my-2">
     <div class="cool-grey">Fixed-width Container</div>
</div>
<div class="container-fluid my-2">
     <div class="cool-grey">Fluid-width Container</div>
</div>

Rows & Columns

Learning how to use rows and columns with breakpoints is essential to building responsive web experiences. This 12 column grid system can be easily divided into multiples of 2, 3, 4, 6 and 12

12 columns
6 columns
6 columns
4 columns
4 columns
4 columns
3 columns
3 columns
3 columns
3 columns
<div class="container-fluid">
<div class="row">
     <div class="col-12 my-2"><div class="cool-grey">12 columns</div></div>
     <div class="col-6 my-2"><div class="cool-grey">6 columns</div></div><div class="col-6 my-2"><div class="cool-grey">6 columns</div></div>
     <div class="col-4 my-2"><div class="cool-grey">4 columns</div></div><div class="col-4 my-2"><div class="cool-grey">4 columns</div></div><div class="col-4 my-2"><div class="cool-grey">4 columns</div></div>
     <div class="col-3 my-2"><div class="cool-grey">3 columns</div></div><div class="col-3 my-2"><div class="cool-grey">3 columns</div></div><div class="col-3 my-2"><div class="cool-grey">3 columns</div></div><div class="col-3 my-2"><div class="cool-grey">3 columns</div></div>
</div>
</div>

Responsive Breakpoints

Since Bootstrap is developed to be mobile first, we use a handful of media queries to create sensible breakpoints for our layouts and interfaces. These breakpoints are mostly based on minimum viewport widths and allow us to scale up elements as the viewport changes:

Small devices (sm) (landscape phones, 576px and up)
Medium devices (md) (tablets, 768px and up)
Large devices (lg) (desktops, 992px and up)
Extra large devices (xl) (large desktops, 1200px and up)

Reduce your screen width to view the responsive breakpoints in action

Responsive Column 1
Responsive Column 2
Responsive Column 3
Responsive Column 4
<div class="container-fluid">
     <h3>Reduce your screen width to view the responsive breakpoints in action</h3>
<div class="row">
     <div class="col-xl-3 col-lg-4 col-md-6 my-2"><div class="cool-grey">Responsive Column 1</div></div>
     <div class="col-xl-3 col-lg-4 col-md-6 my-2"><div class="cool-grey">Responsive Column 2</div></div>
     <div class="col-xl-3 col-lg-4 col-md-6 my-2"><div class="cool-grey">Responsive Column 3</div></div>
     <div class="col-xl-3 col-lg-4 col-md-6 my-2"><div class="cool-grey">Responsive Column 4</div></div>
</div>
</div>