Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml test Remove setup git token fix again trial Fix trial testing again Revert some things Hope it works now :) Update build.yml revert changes
149 lines
2.6 KiB
SCSS
149 lines
2.6 KiB
SCSS
// html-grid.scss v1.0 | @ajlkn | MIT licensed */
|
|
|
|
// Mixins.
|
|
|
|
/// Initializes the current element as an HTML grid.
|
|
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
|
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
|
@mixin html-grid($gutters: 1.5em, $suffix: '') {
|
|
|
|
// Initialize.
|
|
$cols: 12;
|
|
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
|
|
$unit: 100% / $cols;
|
|
|
|
// Suffixes.
|
|
$suffixes: null;
|
|
|
|
@if (type-of($suffix) == 'list') {
|
|
$suffixes: $suffix;
|
|
}
|
|
@else {
|
|
$suffixes: ($suffix);
|
|
}
|
|
|
|
// Gutters.
|
|
$guttersCols: null;
|
|
$guttersRows: null;
|
|
|
|
@if (type-of($gutters) == 'list') {
|
|
|
|
$guttersCols: nth($gutters, 1);
|
|
$guttersRows: nth($gutters, 2);
|
|
|
|
}
|
|
@else {
|
|
|
|
$guttersCols: $gutters;
|
|
$guttersRows: 0;
|
|
|
|
}
|
|
|
|
// Row.
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
box-sizing: border-box;
|
|
align-items: stretch;
|
|
|
|
// Columns.
|
|
> * {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
// Gutters.
|
|
&.gtr-uniform {
|
|
> * {
|
|
> :last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Alignment.
|
|
&.aln-left {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
&.aln-center {
|
|
justify-content: center;
|
|
}
|
|
|
|
&.aln-right {
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
&.aln-top {
|
|
align-items: flex-start;
|
|
}
|
|
|
|
&.aln-middle {
|
|
align-items: center;
|
|
}
|
|
|
|
&.aln-bottom {
|
|
align-items: flex-end;
|
|
}
|
|
|
|
// Step through suffixes.
|
|
@each $suffix in $suffixes {
|
|
|
|
// Suffix.
|
|
@if ($suffix != '') {
|
|
$suffix: '-' + $suffix;
|
|
}
|
|
@else {
|
|
$suffix: '';
|
|
}
|
|
|
|
// Row.
|
|
|
|
// Important.
|
|
> .imp#{$suffix} {
|
|
order: -1;
|
|
}
|
|
|
|
// Columns, offsets.
|
|
@for $i from 1 through $cols {
|
|
> .col-#{$i}#{$suffix} {
|
|
width: $unit * $i;
|
|
}
|
|
|
|
> .off-#{$i}#{$suffix} {
|
|
margin-left: $unit * $i;
|
|
}
|
|
}
|
|
|
|
// Step through multipliers.
|
|
@each $multiplier in $multipliers {
|
|
|
|
// Gutters.
|
|
$class: null;
|
|
|
|
@if ($multiplier != 1) {
|
|
$class: '.gtr-' + ($multiplier * 100);
|
|
}
|
|
|
|
&#{$class} {
|
|
margin-top: ($guttersRows * $multiplier * -1);
|
|
margin-left: ($guttersCols * $multiplier * -1);
|
|
|
|
> * {
|
|
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
|
|
}
|
|
|
|
// Uniform.
|
|
&.gtr-uniform {
|
|
margin-top: $guttersCols * $multiplier * -1;
|
|
|
|
> * {
|
|
padding-top: $guttersCols * $multiplier;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} |