CSS では下記のような色の指定方法があります。
color: red; // 定数名で指定
color: #ff0000; // 16進数で指定
color: rgb(255, 0, 0); // 10進数で指定
color: rgba(255, 0, 0, 0.3); // 10進数で指定(α値あり)
color: hsl(0, 100%, 50%); // HSL指定
color: hsla(0, 100%, 50%, 0.3); // HSL指定(α値あり)
CSS の rgba
関数は、上記のように4つのパラメータをとりますが、Sass の rgba
関数はより柔軟なパラメータ指定が可能になっています。
color: rgba(red, 0.3); // 定数名 + α値
color: rgba(#ff0000, 0.3); // 16進数 + α値
また、Sass では名前付きパラメータを使って値を指定できるので、各パラメータの意味を明確にすることができます。
color: hsl($hue: 0, $saturation: 100%, $lightness: 50%); // 赤になる
lighten
関数、darken
関数を使用すると、ある色をパーセンテージ指定で明るくしたり暗くしたりすることができます。
SCSS コード内での記述 | 変換後 |
---|---|
background: lighten(red, 30%); |
#ff9999 |
background: lighten(red, 20%); |
#ff6666 |
background: lighten(red, 10%); |
#ff3333 |
background: red; |
#ff0000 |
background: darken(red, 10%); |
#cc0000 |
background: darken(red, 20%); |
#990000 |
background: darken(red, 30%); |
#660000 |
saturate
関数、desaturate
関数を使用すると、ある色の彩度をパーセンテージ指定で上げたり下げたりすることができます。
SCSS コード内での記述 | 変換後 |
---|---|
background: saturate(royalblue, 30%); |
#235aff |
background: saturate(royalblue, 20%); |
#2b5ef7 |
background: saturate(royalblue, 10%); |
#3664ec |
background: royalblue; |
#4169e1 |
background: desaturate(royalblue, 10%); |
#4c6fd6 |
background: desaturate(royalblue, 20%); |
#5774cb |
background: desaturate(royalblue, 30%); |
#627ac0 |
mix
関数を使用すると、指定した2色の中間色を作成することができます。
第3引数($weight
パラメータ)を使って、1色目の比率を指定することもできます(デフォルトは 50%)。
SCSS コード内での記述 | 変換後 |
---|---|
background: mix(white, black); |
gray |
background: mix(green, yellow); |
#80c000 |
background: mix(white, black, 75%); |
#bfbfbf |
background: mix(white, black, 25%); |
#404040 |