Skip to content

Instantly share code, notes, and snippets.

@zastrow
Last active March 4, 2022 13:02
Show Gist options
  • Save zastrow/b6950e6d9ac9e6093ae8f460cbb7cd4a to your computer and use it in GitHub Desktop.
Save zastrow/b6950e6d9ac9e6093ae8f460cbb7cd4a to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
.obj-grid {
display: grid;
grid-gap: 1.25rem;
grid-template-columns: repeat(12, 1fr);
}
.obj-grid .obj-grid__1-12 {
width: auto;
grid-column: span 1;
}
.obj-grid .obj-grid__2-12 {
width: auto;
grid-column: span 2;
}
.obj-grid .obj-grid__quarter,
.obj-grid .obj-grid__3-12 {
width: auto;
grid-column: span 3;
}
.obj-grid .obj-grid__third,
.obj-grid .obj-grid__4-12 {
width: auto;
grid-column: span 4;
}
.obj-grid .obj-grid__5-12 {
width: auto;
grid-column: span 5;
}
.obj-grid .obj-grid__half,
.obj-grid .obj-grid__6-12 {
width: auto;
grid-column: span 6;
}
.obj-grid .obj-grid__7-12 {
width: auto;
grid-column: span 7;
}
.obj-grid .obj-grid__two-third, .obj-grid .obj-grid__two-thirds,
.obj-grid .obj-grid__8-12 {
width: auto;
grid-column: span 8;
}
.obj-grid .obj-grid__three-quarter, .obj-grid .obj-grid__three-quarters
.obj-grid__9-12 {
width: auto;
grid-column: span 9;
}
.obj-grid .obj-grid__10-12 {
width: auto;
grid-column: span 10;
}
.obj-grid .obj-grid__11-12 {
width: auto;
grid-column: span 11;
}
.obj-grid .obj-grid__full,
.obj-grid .obj-grid__12-12 {
width: auto;
grid-column: span 12;
}
@media (min-width: 30rem) {
.obj-grid .obj-grid__1-12 {
width: auto;
grid-column: span 1;
}
.obj-grid .obj-grid__2-12 {
width: auto;
grid-column: span 2;
}
.obj-grid .obj-grid__quarter\@sm,
.obj-grid .obj-grid__3-12 {
width: auto;
grid-column: span 3;
}
.obj-grid .obj-grid__third\@sm,
.obj-grid .obj-grid__4-12 {
width: auto;
grid-column: span 4;
}
.obj-grid .obj-grid__5-12 {
width: auto;
grid-column: span 5;
}
.obj-grid .obj-grid__half\@sm,
.obj-grid .obj-grid__6-12 {
width: auto;
grid-column: span 6;
}
.obj-grid .obj-grid__7-12 {
width: auto;
grid-column: span 7;
}
.obj-grid .obj-grid__two-third\@sm, .obj-grid .obj-grid__two-thirds\@sm,
.obj-grid .obj-grid__8-12 {
width: auto;
grid-column: span 8;
}
.obj-grid .obj-grid__three-quarter\@sm, .obj-grid .obj-grid__three-quarters\@sm
.obj-grid__9-12 {
width: auto;
grid-column: span 9;
}
.obj-grid .obj-grid__10-12 {
width: auto;
grid-column: span 10;
}
.obj-grid .obj-grid__11-12 {
width: auto;
grid-column: span 11;
}
.obj-grid .obj-grid__full\@sm,
.obj-grid .obj-grid__12-12 {
width: auto;
grid-column: span 12;
}
}
@media (min-width: 45rem) {
.obj-grid .obj-grid__1-12 {
width: auto;
grid-column: span 1;
}
.obj-grid .obj-grid__2-12 {
width: auto;
grid-column: span 2;
}
.obj-grid .obj-grid__quarter\@md,
.obj-grid .obj-grid__3-12 {
width: auto;
grid-column: span 3;
}
.obj-grid .obj-grid__third\@md,
.obj-grid .obj-grid__4-12 {
width: auto;
grid-column: span 4;
}
.obj-grid .obj-grid__5-12 {
width: auto;
grid-column: span 5;
}
.obj-grid .obj-grid__half\@md,
.obj-grid .obj-grid__6-12 {
width: auto;
grid-column: span 6;
}
.obj-grid .obj-grid__7-12 {
width: auto;
grid-column: span 7;
}
.obj-grid .obj-grid__two-third\@md, .obj-grid .obj-grid__two-thirds\@md,
.obj-grid .obj-grid__8-12 {
width: auto;
grid-column: span 8;
}
.obj-grid .obj-grid__three-quarter\@md, .obj-grid .obj-grid__three-quarters\@md
.obj-grid__9-12 {
width: auto;
grid-column: span 9;
}
.obj-grid .obj-grid__10-12 {
width: auto;
grid-column: span 10;
}
.obj-grid .obj-grid__11-12 {
width: auto;
grid-column: span 11;
}
.obj-grid .obj-grid__full\@md,
.obj-grid .obj-grid__12-12 {
width: auto;
grid-column: span 12;
}
}
@media (min-width: 60rem) {
.obj-grid .obj-grid__1-12 {
width: auto;
grid-column: span 1;
}
.obj-grid .obj-grid__2-12 {
width: auto;
grid-column: span 2;
}
.obj-grid .obj-grid__quarter\@lg,
.obj-grid .obj-grid__3-12 {
width: auto;
grid-column: span 3;
}
.obj-grid .obj-grid__third\@lg,
.obj-grid .obj-grid__4-12 {
width: auto;
grid-column: span 4;
}
.obj-grid .obj-grid__5-12 {
width: auto;
grid-column: span 5;
}
.obj-grid .obj-grid__half\@lg,
.obj-grid .obj-grid__6-12 {
width: auto;
grid-column: span 6;
}
.obj-grid .obj-grid__7-12 {
width: auto;
grid-column: span 7;
}
.obj-grid .obj-grid__two-third\@lg, .obj-grid .obj-grid__two-thirds\@lg,
.obj-grid .obj-grid__8-12 {
width: auto;
grid-column: span 8;
}
.obj-grid .obj-grid__three-quarter\@lg, .obj-grid .obj-grid__three-quarters\@lg
.obj-grid__9-12 {
width: auto;
grid-column: span 9;
}
.obj-grid .obj-grid__10-12 {
width: auto;
grid-column: span 10;
}
.obj-grid .obj-grid__11-12 {
width: auto;
grid-column: span 11;
}
.obj-grid .obj-grid__full\@lg,
.obj-grid .obj-grid__12-12 {
width: auto;
grid-column: span 12;
}
}
@media (min-width: 80rem) {
.obj-grid .obj-grid__1-12 {
width: auto;
grid-column: span 1;
}
.obj-grid .obj-grid__2-12 {
width: auto;
grid-column: span 2;
}
.obj-grid .obj-grid__quarter\@xl,
.obj-grid .obj-grid__3-12 {
width: auto;
grid-column: span 3;
}
.obj-grid .obj-grid__third\@xl,
.obj-grid .obj-grid__4-12 {
width: auto;
grid-column: span 4;
}
.obj-grid .obj-grid__5-12 {
width: auto;
grid-column: span 5;
}
.obj-grid .obj-grid__half\@xl,
.obj-grid .obj-grid__6-12 {
width: auto;
grid-column: span 6;
}
.obj-grid .obj-grid__7-12 {
width: auto;
grid-column: span 7;
}
.obj-grid .obj-grid__two-third\@xl, .obj-grid .obj-grid__two-thirds\@xl,
.obj-grid .obj-grid__8-12 {
width: auto;
grid-column: span 8;
}
.obj-grid .obj-grid__three-quarter\@xl, .obj-grid .obj-grid__three-quarters\@xl
.obj-grid__9-12 {
width: auto;
grid-column: span 9;
}
.obj-grid .obj-grid__10-12 {
width: auto;
grid-column: span 10;
}
.obj-grid .obj-grid__11-12 {
width: auto;
grid-column: span 11;
}
.obj-grid .obj-grid__full\@xl,
.obj-grid .obj-grid__12-12 {
width: auto;
grid-column: span 12;
}
}
// Breakpoint Definition List
$bp-sm: 30rem;
$bp-md: 45rem;
$bp-lg: 60rem;
$bp-xl: 80rem;
// Breakpoint Sass Map
$grid-breakpoints: (
sm: $bp-sm,
md: $bp-md,
lg: $bp-lg,
xl: $bp-xl
);
$grid-count: 12;
$max-page-width: 79em;
$grid-gutters: 1.25rem;
// Column Span Mixin
@mixin column-span($span) {
width: auto;
grid-column: span $span;
}
// Grid mixin loop
@mixin grid-maker($bp:'') {
@for $i from 1 through $grid-count {
$val: '';
@if $i == ceil($grid-count * 0.25) {
$val: ".obj-grid__quarter#{$bp},";
}
@else if $i == ceil($grid-count * 0.3333) {
$val: ".obj-grid__third#{$bp},";
}
@else if $i == ceil($grid-count * 0.5) {
$val: ".obj-grid__half#{$bp},";
}
@else if $i == ceil($grid-count * 0.6666) {
$val: ".obj-grid__two-third#{$bp}, .obj-grid__two-thirds#{$bp},";
}
@else if $i == ceil($grid-count * 0.75) {
$val: ".obj-grid__three-quarter#{$bp}, .obj-grid__three-quarters#{$bp}";
}
@else if $i == $grid-count {
$val: ".obj-grid__full#{$bp},";
}
@else {
$val: $val;
}
#{$val}
.obj-grid__#{$i}-#{$grid-count} {
@include column-span($i);
}
}
}
.obj-grid {
display: grid;
grid-gap: $grid-gutters;
grid-template-columns: repeat(12, 1fr);
// Base-line grid column class sizes
@include grid-maker;
// Loop for media quary suffix grid column classes
@each $key, $val in $grid-breakpoints {
@media (min-width: #{$val}) {
@include grid-maker(\@#{$key});
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment