mirror of
https://github.com/jbranchaud/til
synced 2026-01-02 22:58:01 +00:00
Add Define CSS Custom Properties With SCSS Variables as a css til
This commit is contained in:
@@ -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).
|
||||
|
||||
_894 TILs and counting..._
|
||||
_895 TILs and counting..._
|
||||
|
||||
---
|
||||
|
||||
@@ -102,6 +102,7 @@ _894 TILs and counting..._
|
||||
- [Clean Up Repetition With :is() Pseudo-Class](css/clean-up-repetition-with-is-pseudo-class.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)
|
||||
- [Define CSS Custom Properties With CSS Variables](css/define-css-custom-properties-with-scss-variables.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)
|
||||
- [Lighten And Darken With CSS Brightness Filter](css/lighten-and-darken-with-css-brightness-filter.md)
|
||||
|
||||
40
css/define-css-custom-properties-with-scss-variables.md
Normal file
40
css/define-css-custom-properties-with-scss-variables.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Define CSS Custom Properties With SCSS Variables
|
||||
|
||||
It doesn't work to directly declare a CSS custom property using SCSS variables
|
||||
like this:
|
||||
|
||||
```css
|
||||
$primary-action: #057A5B;
|
||||
|
||||
.btn-primary {
|
||||
--button-color: $primary-action;
|
||||
}
|
||||
```
|
||||
|
||||
After SCSS pre-processing, the resulting CSS will look like this:
|
||||
|
||||
```css
|
||||
.btn-primary {
|
||||
--button-color: $primary-action;
|
||||
}
|
||||
```
|
||||
|
||||
Instead of the variable being translated into its declared value (`#057A5B` in
|
||||
this case), it is left as is.
|
||||
|
||||
This is because CSS custom property syntax is unusual enough that it gets
|
||||
processed literally. The only way to incorporate a variable is with
|
||||
_interpolation_.
|
||||
|
||||
```css
|
||||
$primary-action: #057A5B;
|
||||
|
||||
.btn-primary {
|
||||
--button-color: #{$primary-action};
|
||||
}
|
||||
```
|
||||
|
||||
Wrapping the SCSS variable in interpolation syntax (`#{ ... }`) will do the
|
||||
job.
|
||||
|
||||
[source](https://sass-lang.com/documentation/style-rules/declarations#custom-properties)
|
||||
Reference in New Issue
Block a user