aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2021-01-11 21:02:26 -0800
committerMark Otto <[email protected]>2021-04-10 09:39:31 -0700
commit2d2f5b3dfd901bca22133ae25fdcce7afb4042c7 (patch)
treef37f7ba09f4470bda9936523235c5f38c291a867
parentc864852135b17a89bf2f3599212f5a4d3bd273f8 (diff)
downloadbootstrap-2d2f5b3dfd901bca22133ae25fdcce7afb4042c7.tar.xz
bootstrap-2d2f5b3dfd901bca22133ae25fdcce7afb4042c7.zip
Add color-scheme mixin
-rw-r--r--scss/_mixins.scss1
-rw-r--r--scss/mixins/_color-scheme.scss17
-rw-r--r--site/content/docs/5.0/customize/sass.md22
3 files changed, 40 insertions, 0 deletions
diff --git a/scss/_mixins.scss b/scss/_mixins.scss
index 7b06cd819..eec085789 100644
--- a/scss/_mixins.scss
+++ b/scss/_mixins.scss
@@ -10,6 +10,7 @@
// Helpers
@import "mixins/breakpoints";
+@import "mixins/color-scheme";
@import "mixins/image";
@import "mixins/resize";
@import "mixins/visually-hidden";
diff --git a/scss/mixins/_color-scheme.scss b/scss/mixins/_color-scheme.scss
new file mode 100644
index 000000000..303fed72d
--- /dev/null
+++ b/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
diff --git a/site/content/docs/5.0/customize/sass.md b/site/content/docs/5.0/customize/sass.md
index 0e0d3fe24..98a6429fb 100644
--- a/site/content/docs/5.0/customize/sass.md
+++ b/site/content/docs/5.0/customize/sass.md
@@ -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
+ }
+}
+```