To build a grid, just:
- Add a
columns
container - Add as many
column
elements as you want
Each column will have an equal width, no matter the number of columns.
--- title: Columns powered by Flexbox layout: documentation doc-tab: grid doc-subtab: columns --- {% capture columns %}
is-four-fifths
Auto
is-three-quarters
Auto
Auto
is-two-thirds
Auto
Auto
is-half
Auto
Auto
is-one-third
Auto
Auto
is-one-quarter
Auto
is-one-fifth
Auto
Auto
Auto
is-half
is-narrow
is-narrow
First Column
is-narrow
Our Second Column
is-narrow
Third Column
is-narrow
The Fourth Column
is-narrow
Fifth Column
is-half-mobile
is-one-third-tablet
is-one-quarter-desktop
is-one-quarter
is-one-quarter
is-one-quarter
is-one-quarter
is-half
is-one-quarter
is-one-quarter
is-one-quarter
is-one-quarter
is-one-quarter
is-one-quarter
is-half
is-one-quarter
is-one-quarter
Narrow column
This column is only 200px wide.
Flexible column
This column will take up the remaining space available.
To build a grid, just:
columns
containercolumn
elements as you wantEach column will have an equal width, no matter the number of columns.
First column
Second column
Third column
Fourth column
If you want to change the size of a single column, you can use one the following classes:
is-three-quarters
is-two-thirds
is-half
is-one-third
is-one-quarter
The other columns will fill up the remaining space automatically.
is-three-quarters
Auto
Auto
is-two-thirds
Auto
Auto
is-half
Auto
Auto
is-one-third
Auto
Auto
is-one-quarter
Auto
As the grid can be divided into 12 columns, there are size classes for each division:
is-2
is-3
is-4
is-5
is-6
is-7
is-8
is-9
is-10
is-11
is-2
1
1
1
1
1
1
1
1
1
1
is-3
1
1
1
1
1
1
1
1
1
is-4
1
1
1
1
1
1
1
1
is-5
1
1
1
1
1
1
1
is-6
1
1
1
1
1
1
is-7
1
1
1
1
1
is-8
1
1
1
1
is-9
1
1
1
is-10
1
1
is-11
1
While you can use empty columns (like <div class="column"></div>
) to create horizontal space around .column
elements, you can also use offset modifiers like .is-offset-x
:
is-half
is-offset-one-quarter
is-4
is-offset-8
is-11
is-offset-1
While you can use empty columns (like <div class="column"></div>
) to create horizontal space around .column
elements, you can also use .is-centered
on the parent .columns
element:
is-half
is-narrow
Use with .is-multiline
to create a flexible, centered list (try resizing to see centering in different viewport sizes):
is-narrow
First Column
is-narrow
Our Second Column
is-narrow
Third Column
is-narrow
The Fourth Column
is-narrow
Fifth Column
By default, columns are only activated from tablet onwards. This means columns are stacked on top of each other on mobile.
If you want columns to work on mobile too, just add the is-mobile
modifier on the columns
container:
1
2
3
4
If you only want columns on desktop, just use the is-desktop
modifier on the columns
container:
1
2
3
4
You can define a column size for each viewport size: mobile, tablet, and desktop.
is-half-mobile
is-one-third-tablet
is-one-quarter-desktop
1
1
1
1
You can nest columns to have more flexibility in your design. You only need to follow this structure:
columns
: top-level columns container
column
columns
: nested columns
column
and so on…
The difference with multiline columns is the order in the HTML code: all the blue columns appear before the red ones. Resize to a narrower viewport to see the result.
First column
First nested column
Second nested column
Second column
50%
Auto
Auto
Whenever you want to start a new line, you can close a columns
container and start a new one. But you can also add the is-multiline
modifier and add more column elements that would fit in a single row.
is-one-quarter
is-one-quarter
is-one-quarter
is-one-quarter
is-half
is-one-quarter
is-one-quarter
is-one-quarter
Auto
If you want to remove the space between the columns, add the is-gapless
modifier on the columns
container:
First column
Second column
Third column
Fourth column
You can combine it with the is-multiline
modifier:
is-one-quarter
is-one-quarter
is-one-quarter
is-one-quarter
is-half
is-one-quarter
is-one-quarter
is-two-fifths
is-one-fifth
is-two-fifths
is-one-quarter
Auto
If you want a column to only take the space it needs, use the is-narrow
modifier. The other column(s) will fill up the remaining space.
Narrow column
This column is only 200px wide.
Flexible column
This column will take up the remaining space available.
As for the size modifiers, you can have narrow columns for different breakpoints:
is-narrow-mobile
is-narrow-tablet
is-narrow-desktop