Skip to content

Instantly share code, notes, and snippets.

@ltrademark
Last active May 15, 2018 13:37
Show Gist options
  • Save ltrademark/57a66cff2c734f1efd8492e20c7cf7bc to your computer and use it in GitHub Desktop.
Save ltrademark/57a66cff2c734f1efd8492e20c7cf7bc to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
.all-in-one-grid {
display: grid;
grid-template-columns: 300px 300px 300px 300px;
grid-template-rows: 300px 300px 300px 300px;
grid-column-start: 1;
grid-row-start: 3;
grid-column-end: 1;
grid-row-end: 4;
}
.parent-grid {
display: grid;
grid-template-columns: 300px 300px 300px 300px;
grid-template-rows: 300px 300px 300px 300px;
}
.parent-grid .child-grid {
grid-column-start: 1;
grid-row-start: 3;
grid-column-end: 1;
grid-row-end: 4;
}
// ----
// Sass (v3.4.25)
// Compass (v1.0.3)
// ----
@mixin grid($col: 4, $row: $col, $gWidth: 300px, $gHeight: $gWidth) {
$space: unquote(" ");
$templateCols: unquote("");
$templateRows: unquote("");
@for $i from 1 through $col {
$templateCols: $templateCols + $space $gWidth;
}
@for $i from 1 through $row {
$templateRows: $templateRows + $space $gHeight;
}
display: grid;
grid-template-columns: $templateCols;
grid-template-rows: $templateRows;
@content
}
@mixin grid-pos($colStart, $colEnd, $rowStart, $rowEnd, $target: '') {
@if $target != '' {
#{$target} {
grid-column-start: $colStart;
grid-row-start: $rowStart;
grid-column-end: $colEnd;
grid-row-end: $rowEnd;
}
} @else {
grid-column-start: $colStart;
grid-row-start: $rowStart;
grid-column-end: $colEnd;
grid-row-end: $rowEnd;
}
}
.all-in-one-grid {
@include grid() {
@include grid-pos(1, 1, 3, 4);
}
}
.parent-grid {
@include grid() {
@include grid-pos(1, 1, 3, 4, ".child-grid");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment