Skip to content

Instantly share code, notes, and snippets.

@Chrisedmo
Created October 21, 2015 13:12
Show Gist options
  • Save Chrisedmo/a0e89f2ec45db621c567 to your computer and use it in GitHub Desktop.
Save Chrisedmo/a0e89f2ec45db621c567 to your computer and use it in GitHub Desktop.
Generated by SassMeister.com.
<div class="">
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
</div>
<div class="">
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
</div>
<div class="">
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
</div>
// ----
// libsass (v3.2.5)
// ----
@mixin flexible-grid($elem-class: null) {
$db-grid-columns: 12 !default;
@if ($elem-class != null) {
@while $db-grid-columns > 0 {
&:first-child {
&:nth-last-child(#{$db-grid-columns}),
&:nth-last-child(#{$db-grid-columns}) ~ #{$elem-class} {
width: (100% / $db-grid-columns);
}
}
$db-grid-columns: $db-grid-columns - 1;
}
} @else {
@warn 'flexible-grid mixin should contain class or elements name';
&:after {
content: 'flexible-grid mixin should contain class or elements name';
}
}
@content;
}
//test how it works
.flexible-column {
@include flexible-grid($elem-class: '.flexible-column');
box-sizing: border-box;
float: left;
padding: 5px;
span {
background-color: cornflowerblue;
display: block;
height: 50px;
}
}
.flexible-column {
box-sizing: border-box;
float: left;
padding: 5px;
}
.flexible-column:first-child:nth-last-child(12),
.flexible-column:first-child:nth-last-child(12) ~ .flexible-column {
width: 8.33333%;
}
.flexible-column:first-child:nth-last-child(11),
.flexible-column:first-child:nth-last-child(11) ~ .flexible-column {
width: 9.09091%;
}
.flexible-column:first-child:nth-last-child(10),
.flexible-column:first-child:nth-last-child(10) ~ .flexible-column {
width: 10%;
}
.flexible-column:first-child:nth-last-child(9),
.flexible-column:first-child:nth-last-child(9) ~ .flexible-column {
width: 11.11111%;
}
.flexible-column:first-child:nth-last-child(8),
.flexible-column:first-child:nth-last-child(8) ~ .flexible-column {
width: 12.5%;
}
.flexible-column:first-child:nth-last-child(7),
.flexible-column:first-child:nth-last-child(7) ~ .flexible-column {
width: 14.28571%;
}
.flexible-column:first-child:nth-last-child(6),
.flexible-column:first-child:nth-last-child(6) ~ .flexible-column {
width: 16.66667%;
}
.flexible-column:first-child:nth-last-child(5),
.flexible-column:first-child:nth-last-child(5) ~ .flexible-column {
width: 20%;
}
.flexible-column:first-child:nth-last-child(4),
.flexible-column:first-child:nth-last-child(4) ~ .flexible-column {
width: 25%;
}
.flexible-column:first-child:nth-last-child(3),
.flexible-column:first-child:nth-last-child(3) ~ .flexible-column {
width: 33.33333%;
}
.flexible-column:first-child:nth-last-child(2),
.flexible-column:first-child:nth-last-child(2) ~ .flexible-column {
width: 50%;
}
.flexible-column:first-child:nth-last-child(1),
.flexible-column:first-child:nth-last-child(1) ~ .flexible-column {
width: 100%;
}
.flexible-column span {
background-color: cornflowerblue;
display: block;
height: 50px;
}
<div class="">
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
</div>
<div class="">
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
</div>
<div class="">
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
<div class="flexible-column"><span></span></div>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment