Skip to content

Commit

Permalink
Add color-scheme mixin
Browse files Browse the repository at this point in the history
  • Loading branch information
mdo committed Apr 10, 2021
1 parent c864852 commit 2d2f5b3
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
1 change: 1 addition & 0 deletions scss/_mixins.scss
Expand Up @@ -10,6 +10,7 @@

// Helpers
@import "mixins/breakpoints";
@import "mixins/color-scheme";
@import "mixins/image";
@import "mixins/resize";
@import "mixins/visually-hidden";
Expand Down
17 changes: 17 additions & 0 deletions scss/mixins/_color-scheme.scss
@@ -0,0 +1,17 @@
// scss-docs-start mixin-color-scheme
@mixin color-scheme($name) {
@if $name == dark {
@media (prefers-color-scheme: dark) {
@content;
}
} @else if $name == light {
@media (prefers-color-scheme: light) {
@content;
}
} @else {
@media (prefers-color-scheme: #{$name}) {
@content;
}
}
}
// scss-docs-end mixin-color-scheme
22 changes: 22 additions & 0 deletions site/content/docs/5.0/customize/sass.md
Expand Up @@ -276,3 +276,25 @@ $border-width: 0;
border-radius: subtract($border-radius, $border-width);
}
```

## Mixins

Our `scss/mixins/` directory has a ton of mixins that power parts of Bootstrap and can also be used across your own project.

### Color schemes

A shorthand mixin for the `prefers-color-scheme` media query is available with support for `light`, `dark`, and custom color schemes.

{{< scss-docs name="mixin-color-scheme" file="scss/mixins/_color-scheme.scss" >}}

```scss
.custom-element {
@include color-scheme(dark) {
// Insert dark mode styles here
}

@include color-scheme(custom-named-scheme) {
// Insert custom color scheme styles here
}
}
```

0 comments on commit 2d2f5b3

Please sign in to comment.