]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Add color-scheme mixin
authorMark Otto <markdotto@gmail.com>
Tue, 12 Jan 2021 05:02:26 +0000 (21:02 -0800)
committerMark Otto <otto@github.com>
Sat, 10 Apr 2021 16:39:31 +0000 (09:39 -0700)
scss/_mixins.scss
scss/mixins/_color-scheme.scss [new file with mode: 0644]
site/content/docs/5.0/customize/sass.md

index 7b06cd8198c91728e1c7ef824658d1fc501d9b6f..eec085789a7505b80ade30306a99a4e2610ea203 100644 (file)
@@ -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 (file)
index 0000000..303fed7
--- /dev/null
@@ -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
index 0e0d3fe2432af3dad36cfc5742b5015b97009d82..98a6429fb30e2080599e1d0c6d16aedaeb1c3b6f 100644 (file)
@@ -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
+  }
+}
+```