Margin
File location: sass/layout/helpers/_separation.scss (GitHub)
General Margin
The margin utilities have 5 and 10 pixels incrementations from 0 to 150 pixels. They have rem units internally,
but their names reflect the pixel value they correspond to with the default hgrid setup. Applying
.m-60 or .margin-60 to an element gives it 6rem of margin on all sides, which corresponds to 60px.
.margin-0/.m-0.margin-5/.m-5.margin-10/.m-10.margin-20/.m-20.margin-30/.m-20- ...
.margin-150
Code example:
<div class="border-gray border-dashed max-content-max">
<p class="m-60 bg-gray-dark text-white">
Tell me and I forget. Teach me and I remember. Involve me and I learn.
</p>
</div>
Result:
Tell me and I forget. Teach me and I remember. Involve me and I learn.
Individual Margin
<div class="border-gray border-dashed max-content-max">
<p class="bg-gray-dark mt-20 mr-90 mb-100 ml-30 text-white">
The way to get started is to quit talking and begin doing.
</p>
</div>
Result:
The way to get started is to quit talking and begin doing.
| Class Name | CSS Property |
|---|---|
.mt-0 / .margin-top-0 |
margin-top: 0; |
.mt-5 / .margin-top-5 |
margin-top: 0.5rem; |
.mt-10 / .margin-top-10 |
margin-top: 1rem; |
.mt-20 / .margin-top-20 |
margin-top: 2rem; |
| etc. ... | |
.mt-140 / .margin-top-140 |
margin-top: 14rem; |
.mt-150 / .margin-top-150 |
margin-top: 15rem; |
Following the pattern above, you can add the class names .mr-{*} / .margin-right-{*},
.mb-{*} / .margin-bottom-{*} or .ml-{*} / .margin-left-{*}.
Values up to 150.
Responsive Overrides
Let's revisit the example above and add a responsive modification. On tablets in
landscape mode and smaller we want to remove the margin-bottom completely. We'll use
the .tablet-landscape-mb-0 utility:
<div class="border-gray border-dashed max-content-max">
<p class="bg-gray-dark mt-20 mr-90 mb-100 ml-30 tablet-landscape-mb-0 text-white">
The way to get started is to quit talking and begin doing.
</div>
</div>
The result can now be seen by scaling your viewport down to 1024 pixels or less:
The way to get started is to quit talking and begin doing.
Use the override utilities along this pattern:
.desktop-large-m-5.desktop-large-mt-5.desktop-large-mr-5.desktop-large-mb-5.desktop-large-ml-5
.desktop-large-m-10.desktop-large-mt-10.desktop-large-mr-10.desktop-large-mb-10.desktop-large-ml-10
etc. ... incremented by 10
.phone-landscape-m-150.phone-landscape-mt-150.phone-landscape-mr-150.phone-landscape-mb-150.phone-landscape-ml-150
The default viewport laptop (<=1280px) is excluded from the list of viewports you can use to construct these overrides.
Here are your alternatives: .desktop-large (>1680px), .desktop (>1280px), .tablet-landscape
(<1024px), .tablet-portrait (<900px), .phone-landscape (<768px) and .phone (<600px).
Automatic Margin
<div class="border-gray border-dashed">
<p class="width-50pct bg-gray-darker margin-0-auto pt-20 pb-20 text-center text-light">
This element has automatic margin left and right.
</p>
</div>
Result:
This element has automatic margin left and right.
You can use .margin-left-auto and .margin-right-auto to achieve the same effect.
← Previous: Padding
Next: Utilities →