- Rename and move the variable to variables file
- Move code to the grid file
- Use the mixin to generate our own classes
- Wrap in a grid classes enabled conditional
- Document the mixin
This commit is contained in:
Mark Otto 2019-07-23 23:00:29 -07:00 committed by Mark Otto
parent db692d02d5
commit cc248791b0
5 changed files with 36 additions and 12 deletions

View File

@ -175,18 +175,6 @@
}
}
$row-columns: 6 !default;
@each $breakpoint in map-keys($grid-breakpoints) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@for $i from 1 through $row-columns {
.row-cols#{$infix}-#{$i} > [class^="col"] {
flex: 0 0 calc(100% / #{$i});
}
}
}
//
// Card groups

View File

@ -46,6 +46,16 @@
@include make-row();
}
@each $breakpoint in map-keys($grid-breakpoints) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@for $i from 1 through $grid-row-columns {
.row-cols#{$infix}-#{$i} {
@include row-cols($i);
}
}
}
// Remove the negative margin from default .row, then the horizontal padding
// from all immediate children columns (to prevent runaway style inheritance).
.no-gutters {

View File

@ -215,6 +215,7 @@ $container-max-widths: (
$grid-columns: 12 !default;
$grid-gutter-width: 30px !default;
$grid-row-columns: 6 !default;
// Container padding

View File

@ -49,3 +49,14 @@
$num: $size / $columns;
margin-left: if($num == 0, 0, percentage($num));
}
// Row columns
//
// Specify on a parent element(e.g., .row) to force immediate children into NN
// numberof columns. Supports wrapping to new lines, but does not do a Masonry
// style grid.
@mixin row-cols($count) {
& > [class^="col"] {
flex: 0 0 calc(100% / #{$count});
}
}

View File

@ -369,6 +369,20 @@ Use these row columns classes to quickly create basic grid layouts or to control
{{< /example >}}
</div>
You can also use the accompanying Sass mixin, `row-cols()`:
{{< highlight scss >}}
.element {
// Three columns to start
@include row-cols(3);
// Five columns from medium breakpoint up
@include media-breakpoint-up(md) {
@include row-cols(5);
}
}
{{< /highlight >}}
## Alignment
Use flexbox alignment utilities to vertically and horizontally align columns. **Internet Explorer 10-11 do not support vertical alignment of flex items when the flex container has a `min-height` as shown below.** [See Flexbugs #3 for more details.](https://github.com/philipwalton/flexbugs#flexbug-3)