diff options
| author | Kovah <[email protected]> | 2016-09-09 06:48:17 +0200 |
|---|---|---|
| committer | Chris Garcia <[email protected]> | 2016-09-13 23:02:56 -0500 |
| commit | 0ef64d89f7fbf7c4eb306569b050720e240dde6b (patch) | |
| tree | b8dbc51ac2bfc2e6be4583be4d2efbbd31980bd5 /scss | |
| parent | 3f01134031b15a934d5e233bb26a407a7e05492b (diff) | |
| download | bootstrap-0ef64d89f7fbf7c4eb306569b050720e240dde6b.tar.xz bootstrap-0ef64d89f7fbf7c4eb306569b050720e240dde6b.zip | |
Add breakpoint-specific gutters.
Diffstat (limited to 'scss')
| -rw-r--r-- | scss/_variables.scss | 12 | ||||
| -rw-r--r-- | scss/mixins/_grid-framework.scss | 10 | ||||
| -rw-r--r-- | scss/mixins/_grid.scss | 36 |
3 files changed, 41 insertions, 17 deletions
diff --git a/scss/_variables.scss b/scss/_variables.scss index 86a29e23c..d8b67b322 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -150,9 +150,15 @@ $container-max-widths: ( // // Set the number of columns and specify the width of the gutters. -$grid-columns: 12 !default; -$grid-gutter-width: 30px !default; - +$grid-columns: 12 !default; +$grid-gutter-width-base: 30px !default; +$grid-gutter-widths: ( + xs: $grid-gutter-width-base, + sm: $grid-gutter-width-base, + md: $grid-gutter-width-base, + lg: $grid-gutter-width-base, + xl: $grid-gutter-width-base +) !default; // Typography // diff --git a/scss/mixins/_grid-framework.scss b/scss/mixins/_grid-framework.scss index 8b17d7843..0e3852e24 100644 --- a/scss/mixins/_grid-framework.scss +++ b/scss/mixins/_grid-framework.scss @@ -3,20 +3,18 @@ // Used only by Bootstrap to generate the correct number of grid classes given // any value of `$grid-columns`. -@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { - +@mixin make-grid-columns($columns: $grid-columns, $gutters: $grid-gutter-widths, $breakpoints: $grid-breakpoints) { // Common properties for all breakpoints %grid-column { position: relative; // Prevent columns from collapsing when empty min-height: 1px; - // Inner gutter via padding - padding-right: ($gutter / 2); - padding-left: ($gutter / 2); @if $enable-flex { width: 100%; } + + @include make-gutters($gutters); } $breakpoint-counter: 0; @@ -38,8 +36,6 @@ flex-grow: 1; max-width: 100%; min-height: 1px; - padding-right: ($grid-gutter-width / 2); - padding-left: ($grid-gutter-width / 2); } } diff --git a/scss/mixins/_grid.scss b/scss/mixins/_grid.scss index fa9b3995b..b381ba900 100644 --- a/scss/mixins/_grid.scss +++ b/scss/mixins/_grid.scss @@ -2,7 +2,7 @@ // // Generate semantic grid columns with these mixins. -@mixin make-container($gutter: $grid-gutter-width) { +@mixin make-container($gutter: $grid-gutter-width-base) { margin-left: auto; margin-right: auto; padding-left: ($gutter / 2); @@ -22,22 +22,36 @@ } } -@mixin make-row($gutter: $grid-gutter-width) { +@mixin make-gutters($gutters: $grid-gutter-widths) { + @each $breakpoint in map-keys($gutters) { + @include media-breakpoint-up($breakpoint) { + $gutter: map-get($gutters, $breakpoint); + padding-right: ($gutter / 2); + padding-left: ($gutter / 2); + } + } +} + +@mixin make-row($gutters: $grid-gutter-widths) { @if $enable-flex { display: flex; flex-wrap: wrap; } @else { @include clearfix(); } - margin-left: ($gutter / -2); - margin-right: ($gutter / -2); + + @each $breakpoint in map-keys($gutters) { + @include media-breakpoint-up($breakpoint) { + $gutter: map-get($gutters, $breakpoint); + margin-right: ($gutter / -2); + margin-left: ($gutter / -2); + } + } } -@mixin make-col-ready($gutter: $grid-gutter-width) { +@mixin make-col-ready($gutters: $grid-gutter-widths) { position: relative; min-height: 1px; // Prevent collapsing - padding-right: ($gutter / 2); - padding-left: ($gutter / 2); // Prevent columns from becoming too narrow when at smaller grid tiers by // always setting `width: 100%;`. This works because we use `flex` values @@ -45,6 +59,14 @@ @if $enable-flex { width: 100%; } + + @each $breakpoint in map-keys($gutters) { + @include media-breakpoint-up($breakpoint) { + $gutter: map-get($gutters, $breakpoint); + padding-right: ($gutter / 2); + padding-left: ($gutter / 2); + } + } } @mixin make-col($size, $columns: $grid-columns) { |
