2
0
mirror of https://github.com/tenrok/bootstrap.git synced 2026-06-08 17:22:31 +03:00

Create scss-docs shortcode to get some snippets from the Scs… (#30502)

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
This commit is contained in:
Martijn Cuppens
2020-04-06 20:13:35 +02:00
committed by GitHub
parent 98ba40dc06
commit 83b49aa688
12 changed files with 71 additions and 86 deletions
@@ -172,14 +172,7 @@ In Bootstrap 5, we've dropped the `color()`, `theme-color()` and `gray()` functi
We also have a function for getting a particular _level_ of color. Negative level values will lighten the color, while higher levels will darken.
{{< highlight scss >}}
@function color-level($color: $primary, $level: 0) {
$color-base: if($level > 0, #000, #fff);
$level: abs($level);
@return mix($color-base, $color, $level * $theme-color-interval);
}
{{< /highlight >}}
{{< scss-docs name="color-level" file="scss/_functions.scss" >}}
In practice, you'd call the function and pass in two parameters: the name of the color from `$theme-colors` (e.g., primary or danger) and a numeric level.
@@ -389,37 +382,17 @@ Many of Bootstrap's components and utilities are built with `@each` loops that i
Many of Bootstrap's components are built with a base-modifier class approach. This means the bulk of the styling is contained to a base class (e.g., `.btn`) while style variations are confined to modifier classes (e.g., `.btn-danger`). These modifier classes are built from the `$theme-colors` map to make customizing the number and name of our modifier classes.
Here are two examples of how we loop over the `$theme-colors` map to generate modifiers to the `.alert` component and all our `.bg-*` background utilities.
Here are two examples of how we loop over the `$theme-colors` map to generate modifiers to the `.alert` and `.list-group` components.
{{< highlight scss >}}
// Generate alert modifier classes
@each $color, $value in $theme-colors {
.alert-#{$color} {
@include alert-variant(color-level($color, -10), color-level($color, -9), color-level($color, 6));
}
}
{{< scss-docs name="alert-modifiers" file="scss/_alert.scss" >}}
// Generate `.bg-*` color utilities
@each $color, $value in $theme-colors {
@include bg-variant('.bg-#{$color}', $value);
}
{{< /highlight >}}
{{< scss-docs name="list-group-modifiers" file="scss/_list-group.scss" >}}
### Responsive
These Sass loops aren't limited to color maps, either. You can also generate responsive variations of your components or utilities. Take for example our responsive text alignment utilities where we mix an `@each` loop for the `$grid-breakpoints` Sass map with a media query include.
These Sass loops aren't limited to color maps, either. You can also generate responsive variations of your components. Take for example our responsive alignment of the dropdowns where we mix an `@each` loop for the `$grid-breakpoints` Sass map with a media query include.
{{< highlight scss >}}
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.text#{$infix}-left { text-align: left !important; }
.text#{$infix}-right { text-align: right !important; }
.text#{$infix}-center { text-align: center !important; }
}
}
{{< /highlight >}}
{{< scss-docs name="responsive-breakpoints" file="scss/_dropdown.scss" >}}
Should you need to modify your `$grid-breakpoints`, your changes will apply to all the loops iterating over that map.