Bootstrap includes a responsive, mobile first fluid grid system that appropriately scales up to 12 columns as the device or viewport size increases. It includes predefined classes for easy layout options, as well as powerful mixins for generating more semantic layouts.
See how aspects of the Bootstrap grid system work across multiple devices with a handy table.
Extra small devices Phones (<768px) | Small devices Tablets (≥768px) | Medium devices Desktops (≥992px) | Large devices Desktops (≥1200px) | |
---|---|---|---|---|
Grid behavior | Horizontal at all times | Collapsed to start, horizontal above breakpoints | ||
Container width | None (auto) | 750px | 970px | 1170px |
Class prefix | .col-xs- |
.col-sm- |
.col-md- |
.col-lg- |
# of columns | 12 | |||
Column width | Auto | 60px | 78px | 95px |
Gutter width | 30px (15px on each side of a column) | |||
Nestable | Yes | |||
Offsets | Yes | |||
Column ordering | Yes |
Using a single set of .col-md-*
grid classes, you can create a basic grid system that starts out stacked
on mobile devices and tablet devices (the extra small to small range) before becoming horizontal on desktop (medium)
devices. Place grid columns in any .row
.
Don't want your columns to simply stack in smaller devices? Use the extra small and medium device grid classes by
adding .col-xs-*
.col-md-*
to your columns. See the example below for a better idea of how
it all works.
Build on the previous example by creating even more dynamic and powerful layouts with tablet .col-sm-*
classes.
Move columns to the right using .col-md-offset-*
classes. These classes increase the left margin of a
column by *
columns. For example, .col-md-offset-4
moves .col-md-4
over four
columns.
To nest your content with the default grid, add a new .row
and set of .col-md-*
columns
within an existing .col-md-*
column. Nested rows should include a set of columns that add up to 12 or
less.
Easily change the order of our built-in grid columns with .col-md-push-*
and .col-md-pull-*
modifier classes.