#Margin
These are utility classes used to add margins for any element.
These are utility classes used to add margins for any element.
Add a margin on all sides of an element using the m-<size>
class.
<div class="bg-indigo-100 u-inline-flex u-round-xs text-white"><span class="bg-indigo-500 p-1 m-4 text-white u-round-xs u-shadow-lg">m-4</span></div>
Add a margin to either left and right or top and bottom with the mx-<size>
and my-<size>
classes respectively.
<div class="col u-flex u-justify-center">
<div class="bg-indigo-100 u-inline-flex u-round-xs">
<span class="bg-indigo-500 p-1 mx-4 text-white u-round-xs u-shadow-lg">mx-4</span>
</div>
</div>
<div class="col u-flex u-justify-center">
<div class="bg-indigo-100 u-inline-flex u-round-xs">
<span class="bg-indigo-500 p-1 my-4 text-white u-round-xs u-shadow-lg">my-4</span>
</div>
</div>
For adding a margin for only a single side, the class follows a convention like m<l|r|t|b>-<size>
.
<div class="col u-flex u-justify-center">
<div class="bg-indigo-100 u-inline-flex u-round-xs">
<span class="bg-indigo-500 p-1 ml-4 text-white u-round-xs u-shadow-lg">ml-4</span>
</div>
</div>
<div class="col u-flex u-justify-center">
<div class="bg-indigo-100 u-inline-flex u-round-xs">
<span class="bg-indigo-500 p-1 mr-4 text-white u-round-xs u-shadow-lg">mr-4</span>
</div>
</div>
<div class="col u-flex u-justify-center">
<div class="bg-indigo-100 u-inline-flex u-round-xs">
<span class="bg-indigo-500 p-1 mt-4 text-white u-round-xs u-shadow-lg">mt-4</span>
</div>
</div>
<div class="col u-flex u-justify-center">
<div class="bg-indigo-100 u-inline-flex u-round-xs">
<span class="bg-indigo-500 p-1 mb-4 text-white u-round-xs u-shadow-lg">mb-4</span>
</div>
</div>
The margin classes mentioned here support viewport based application. All you need to do is add a -<viewport>
at the end of the class(es) you are using. For example, use m-3-md
to apply m-3
on medium screens and above.
<div class="mr-1 mr-5-sm mr-10-md">
<!-- ... -->
</div>
Try out the example below yourself by resizing your browser window.
Shrink
Window
<div class="bg-orange-100 p-2 u-round-xs u-flex u-justify-center u-items-center">
<p class="bg-orange-400 p-3 u-round-xs my-1 mr-1 mr-5-sm mr-10-md u-shadow-lg">Shrink</p>
<p class="bg-orange-400 p-3 u-round-xs my-1 ml-1 ml-5-sm ml-10-md u-shadow-lg">Window</p>
</div>
For more information, visit the Viewports documentation.
The classes specified above are the default utility classes for setting margins. You can add, change, or remove classes within the _config.scss
file of Cirrus. The generated values are dependent on the values set for the base-size
and steps
fields in the config.
Below is an example of what gets generated when the base-size
is set to 1rem
and we add 64
to the list of steps
.
Recall that these configs are merged with the $default-config
map.
// _config.scss
$config: (
extend: (
sizing-system: (
base-size: 1rem,
steps: (64)
)
)
) !default;
This would generate the following classes.
:root {
--space-size: 1rem;
}
.m-0 {
margin: calc(var(--space-size) * 0) !important;
}
/* ... */
.m-64 {
margin: calc(var(--space-size) * 64) !important;
}
/* Other viewport variants for margin... */
Learn more about how to extend Cirrus to support your use cases in the Configuration documentation.