Skip to content

Instantly share code, notes, and snippets.

@xavvvier
Created September 29, 2021 12:45
Show Gist options
  • Save xavvvier/34c0eeebd7673c9ed09f0fe850522bb4 to your computer and use it in GitHub Desktop.
Save xavvvier/34c0eeebd7673c9ed09f0fe850522bb4 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
@mixin generator($prefix, $properties) {
// List of sizes to generate for each variant
$sizes: [.25, .5, 1, 1.5, 3];
// Loop through all of the sizes
// use @for to access the current index
@for $i from 1 through length($sizes) {
$size: nth($sizes, $i);
// Create the rule
.#{$prefix}-#{$i} {
@each $property in $properties {
#{$property}: 1rem * $size;
}
}
}
}
@include generator(ml, [margin-left]);
@include generator(mr, [margin-right]);
@include generator(mt, [margin-top]);
@include generator(mb, [margin-bottom]);
@include generator(my, [margin-top, margin-bottom]);
@include generator(mx, [margin-left, margin-right]);
@include generator(pl, [padding-left]);
@include generator(pr, [padding-right]);
@include generator(pt, [padding-top]);
@include generator(pb, [padding-bottom]);
@include generator(py, [padding-top, padding-bottom]);
@include generator(px, [padding-left, padding-right]);
.ml-1 {
margin-left: 0.25rem;
}
.ml-2 {
margin-left: 0.5rem;
}
.ml-3 {
margin-left: 1rem;
}
.ml-4 {
margin-left: 1.5rem;
}
.ml-5 {
margin-left: 3rem;
}
.mr-1 {
margin-right: 0.25rem;
}
.mr-2 {
margin-right: 0.5rem;
}
.mr-3 {
margin-right: 1rem;
}
.mr-4 {
margin-right: 1.5rem;
}
.mr-5 {
margin-right: 3rem;
}
.mt-1 {
margin-top: 0.25rem;
}
.mt-2 {
margin-top: 0.5rem;
}
.mt-3 {
margin-top: 1rem;
}
.mt-4 {
margin-top: 1.5rem;
}
.mt-5 {
margin-top: 3rem;
}
.mb-1 {
margin-bottom: 0.25rem;
}
.mb-2 {
margin-bottom: 0.5rem;
}
.mb-3 {
margin-bottom: 1rem;
}
.mb-4 {
margin-bottom: 1.5rem;
}
.mb-5 {
margin-bottom: 3rem;
}
.my-1 {
margin-top: 0.25rem;
margin-bottom: 0.25rem;
}
.my-2 {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
.my-3 {
margin-top: 1rem;
margin-bottom: 1rem;
}
.my-4 {
margin-top: 1.5rem;
margin-bottom: 1.5rem;
}
.my-5 {
margin-top: 3rem;
margin-bottom: 3rem;
}
.mx-1 {
margin-left: 0.25rem;
margin-right: 0.25rem;
}
.mx-2 {
margin-left: 0.5rem;
margin-right: 0.5rem;
}
.mx-3 {
margin-left: 1rem;
margin-right: 1rem;
}
.mx-4 {
margin-left: 1.5rem;
margin-right: 1.5rem;
}
.mx-5 {
margin-left: 3rem;
margin-right: 3rem;
}
.pl-1 {
padding-left: 0.25rem;
}
.pl-2 {
padding-left: 0.5rem;
}
.pl-3 {
padding-left: 1rem;
}
.pl-4 {
padding-left: 1.5rem;
}
.pl-5 {
padding-left: 3rem;
}
.pr-1 {
padding-right: 0.25rem;
}
.pr-2 {
padding-right: 0.5rem;
}
.pr-3 {
padding-right: 1rem;
}
.pr-4 {
padding-right: 1.5rem;
}
.pr-5 {
padding-right: 3rem;
}
.pt-1 {
padding-top: 0.25rem;
}
.pt-2 {
padding-top: 0.5rem;
}
.pt-3 {
padding-top: 1rem;
}
.pt-4 {
padding-top: 1.5rem;
}
.pt-5 {
padding-top: 3rem;
}
.pb-1 {
padding-bottom: 0.25rem;
}
.pb-2 {
padding-bottom: 0.5rem;
}
.pb-3 {
padding-bottom: 1rem;
}
.pb-4 {
padding-bottom: 1.5rem;
}
.pb-5 {
padding-bottom: 3rem;
}
.py-1 {
padding-top: 0.25rem;
padding-bottom: 0.25rem;
}
.py-2 {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
}
.py-3 {
padding-top: 1rem;
padding-bottom: 1rem;
}
.py-4 {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
}
.py-5 {
padding-top: 3rem;
padding-bottom: 3rem;
}
.px-1 {
padding-left: 0.25rem;
padding-right: 0.25rem;
}
.px-2 {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.px-3 {
padding-left: 1rem;
padding-right: 1rem;
}
.px-4 {
padding-left: 1.5rem;
padding-right: 1.5rem;
}
.px-5 {
padding-left: 3rem;
padding-right: 3rem;
}
{
"sass": {
"compiler": "dart-sass/1.32.12",
"extensions": {},
"syntax": "SCSS",
"outputStyle": "expanded"
},
"autoprefixer": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment