aboutsummaryrefslogtreecommitdiff
path: root/scss
diff options
context:
space:
mode:
authorKovah <[email protected]>2016-09-09 06:48:17 +0200
committerChris Garcia <[email protected]>2016-09-13 23:02:56 -0500
commit0ef64d89f7fbf7c4eb306569b050720e240dde6b (patch)
treeb8dbc51ac2bfc2e6be4583be4d2efbbd31980bd5 /scss
parent3f01134031b15a934d5e233bb26a407a7e05492b (diff)
downloadbootstrap-0ef64d89f7fbf7c4eb306569b050720e240dde6b.tar.xz
bootstrap-0ef64d89f7fbf7c4eb306569b050720e240dde6b.zip
Add breakpoint-specific gutters.
Diffstat (limited to 'scss')
-rw-r--r--scss/_variables.scss12
-rw-r--r--scss/mixins/_grid-framework.scss10
-rw-r--r--scss/mixins/_grid.scss36
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) {