1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-02 22:58:01 +00:00

Add Conditional Styling For Unsupported CSS Features as a css til

This commit is contained in:
jbranchaud
2019-12-10 19:30:24 -06:00
parent 16308f6cb5
commit 5d0db6ca56
2 changed files with 34 additions and 1 deletions

View File

@@ -9,7 +9,7 @@ and pairing with smart people at Hashrocket.
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
_887 TILs and counting..._
_888 TILs and counting..._
---
@@ -99,6 +99,7 @@ _887 TILs and counting..._
- [Apply Styles To The Last Child Of A Specific Type](css/apply-styles-to-the-last-child-of-a-specific-type.md)
- [Change The Orientation Of An Image](css/change-the-orientation-of-an-image.md)
- [Circular Icons With A Massive Border Radius](css/circular-icons-with-a-massive-border-radius.md)
- [Conditional Styling For Unsupported CSS Features](css/conditional-styling-for-unsupported-css-features.md)
- [Create A Pulsing Background With CSS Animation](css/create-a-pulsing-background-with-css-animation.md)
- [Dry Up SCSS With Mixins](css/dry-up-scss-with-mixins.md)
- [Give Elements The Same Width With Flexbox](css/give-elements-the-same-width-with-flexbox.md)

View File

@@ -0,0 +1,32 @@
# Conditional Styling For Unsupported CSS Features
As much as possible, you should aim to use CSS features that have broad browser
support. Sometimes browsers lag behind or you'd like to take advantage of a
draft feature in browsers that support it.
For these situations, you can provide conditional styling using the
[`@supports`
at-rule](https://developer.mozilla.org/en-US/docs/Web/CSS/@supports).
Here is an example of conditionally using `display: grid` if it is supported:
```css
@supports (display: grid) {
div {
display: grid;
}
}
```
In [this
article](https://24ways.org/2019/zs-still-not-dead-baby-zs-still-not-dead/)
there is an example of using `background-blend-mode` and falling back to
`background-image` if it isn't supported.
```css
@supports not (background-blend-mode: normal) {
body {
background-image: url(fallback.png);
}
}
```