Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
// Scale Spacings
// Otherwise 2:
// Mention on website that MS Edge is not supported (yet)
// Switch:
// if true: the browser will calculate sizes using (lot's of) calc
// if false: SCSS will calculate the sizes!
$space-calc : "css" !default;
// Space base settings
$space-base : .26rem !default;
$space-ratio : $major-tenth !default; // 2.5 (see modular scale presets)
:root {
// CSS Vars definition
// Space scale
// for paddings & margins, for boxes and page layout
// Modular scale — all your BASE (and RATIO) are belong to us!
--space-base : #{$space-base};
--space-ratio : #{$space-ratio};
// EXTRA: Hairline borders
--space-px : 2px;
// Do the calc in the browser, calc of calc encapsulated in CSS Vars
@if $space-calc == "css" {
--space-xs : var(--space-base); // bigger ⤵
--space-s : calc(var(--space-ratio) * var(--space-xs));
--space-m : calc(var(--space-ratio) * var(--space-s));
--space-l : calc(var(--space-ratio) * var(--space-m));
--space-xl : calc(var(--space-ratio) * var(--space-l));
--space-xxl : calc(var(--space-ratio) * var(--space-xl));
// Do the calc in the browser, but not encapsulated
} @else if $space-calc == "css-detailed" {
// This does the same as above,
// but you can better the calc of the calc
// It's an attempt to solve issues with MS Edge
// Idea by Manuel Lehmann
// Nicely written
--space-xs : var(--space-base);
--space-s : calc( var(--space-ratio) * var(--space-base) );
--space-m : calc( var(--space-ratio) * ( var(--space-ratio) * var(--space-base) ));
--space-l : calc( var(--space-ratio) * ( var(--space-ratio) * ( var(--space-ratio) * var(--space-base) )));
--space-xl : calc( var(--space-ratio) * ( var(--space-ratio) * ( var(--space-ratio) * ( var(--space-ratio) * var(--space-base) ))));
--space-xxl : calc( var(--space-ratio) * ( var(--space-ratio) * ( var(--space-ratio) * ( var(--space-ratio) * ( var(--space-ratio) * var(--space-base) )))));
// Do the calc in the browser, but not encapsulated and DENSE
} @else if $space-calc == "css-detailed-dense" {
// No spaces version (punctation bug in MS Edge?)
--space-xs : var(--space-base);
--space-s : calc(var(--space-ratio)*var(--space-base));
--space-m : calc(var(--space-ratio)*(var(--space-ratio)*var(--space-base)));
--space-l : calc(var(--space-ratio)*(var(--space-ratio)*(var(--space-ratio)*var(--space-base))));
--space-xl : calc(var(--space-ratio)*(var(--space-ratio)*(var(--space-ratio)*(var(--space-ratio)*var(--space-base)))));
--space-xxl : calc(var(--space-ratio)*(var(--space-ratio)*(var(--space-ratio)*(var(--space-ratio)*(var(--space-ratio)*var(--space-base))))));
// Do the calc in SCSS > hardcoded CSS Vars
} @else {
$space-s : $space-ratio * $space-base;
$space-m : $space-ratio * $space-s;
$space-l : $space-ratio * $space-m;
$space-xl : $space-ratio * $space-l;
$space-xxl : $space-ratio * $space-xl;
--space-xs : #{$space-base};
--space-s : #{$space-s};
--space-m : #{$space-m};
--space-l : #{$space-l};
--space-xl : #{$space-xl};
--space-xxl : #{$space-xxl};
}
}