Generate spacing utilities classes with margin, padding, and gap. The classes are named using the format
{property}{sides}-{size}.
Where property is one of:
m- for classes that setmarginp- for classes that setpaddingg- for classes that setgap
Where sides is one of:
t- for classes that setmargin-toporpadding-topb- for classes that setmargin-bottomorpadding-bottoml- for classes that setmargin-leftorpadding-leftr- for classes that setmargin-rightorpadding-rightx- for classes that set both*-leftand*-righty- for classes that set both*-topand*-bottom- blank - for classes that set a
marginorpaddingon all 4 sides of the element
The size increases exponentially:
auto- for classes that set themargintoauto0- for classes that eliminate themarginorpaddingby setting it to01- for classes that set themarginorpaddingto unit *0.252- for classes that set themarginorpaddingto unit *0.53- for classes that set themarginorpaddingto unit *14- for classes that set themarginorpaddingto unit *2
And so on.
You can also use negative margins by prending n to the size such as ml-n2.
Install plugin.
npm i -D @daltontan/postcss-spacing
Add to you PostCSS config:
module.exports = {
plugins: [
require('@daltontan/postcss-spacing'),
]
}
Add to your CSS file:
@generate-spacing();
The argument is important because cssnano will remove it if it does not have an argument.
Options can be set from postcss or from the at-rule.
Default: 0.25
The base unit that will be used to calculate sizes for every subsequent increase in spacing.
Default: 0
The unit size to start from. Set to negative number to generate negative margins.
Default: 4
The highest unit size to generate. Increasing this will generate more classes with exponentially increasing size.