Color 型変数の定義方法
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%); // 赤になる
色を表す定数の一覧
Sass スクリプトの中で色を表現する方法としては、#ff00ff
のような16進数での指定方法以外にも、下記のように色を表す定数を使用する方法があります。
$my-color: magenta; // Color型の変数を定義
$my-color: #ff00ff; // 同上
色を表す定数には下記のようなものが用意されています。
aliceblue
(0xF0F8FFFF)
(0xF0F8FFFF)
antiquewhite
(0xFAEBD7FF)
(0xFAEBD7FF)
aqua
(0x00FFFFFF)
(0x00FFFFFF)
aquamarine
(0x7FFFD4FF)
(0x7FFFD4FF)
azure
(0xF0FFFFFF)
(0xF0FFFFFF)
beige
(0xF5F5DCFF)
(0xF5F5DCFF)
bisque
(0xFFE4C4FF)
(0xFFE4C4FF)
black
(0x000000FF)
(0x000000FF)
blanchedalmond
(0xFFEBCDFF)
(0xFFEBCDFF)
blue
(0x0000FFFF)
(0x0000FFFF)
blueviolet
(0x8A2BE2FF)
(0x8A2BE2FF)
brown
(0xA52A2AFF)
(0xA52A2AFF)
burlywood
(0xDEB887FF)
(0xDEB887FF)
cadetblue
(0x5F9EA0FF)
(0x5F9EA0FF)
chartreuse
(0x7FFF00FF)
(0x7FFF00FF)
chocolate
(0xD2691EFF)
(0xD2691EFF)
coral
(0xFF7F50FF)
(0xFF7F50FF)
cornflowerblue
(0x6495EDFF)
(0x6495EDFF)
cornsilk
(0xFFF8DCFF)
(0xFFF8DCFF)
crimson
(0xDC143CFF)
(0xDC143CFF)
cyan
(0x00FFFFFF)
(0x00FFFFFF)
darkblue
(0x00008BFF)
(0x00008BFF)
darkcyan
(0x008B8BFF)
(0x008B8BFF)
darkgoldenrod
(0xB8860BFF)
(0xB8860BFF)
darkgray
(0xA9A9A9FF)
(0xA9A9A9FF)
darkgreen
(0x006400FF)
(0x006400FF)
darkgrey
(0xA9A9A9FF)
(0xA9A9A9FF)
darkkhaki
(0xBDB76BFF)
(0xBDB76BFF)
darkmagenta
(0x8B008BFF)
(0x8B008BFF)
darkolivegreen
(0x556B2FFF)
(0x556B2FFF)
darkorange
(0xFF8C00FF)
(0xFF8C00FF)
darkorchid
(0x9932CCFF)
(0x9932CCFF)
darkred
(0x8B0000FF)
(0x8B0000FF)
darksalmon
(0xE9967AFF)
(0xE9967AFF)
darkseagreen
(0x8FBC8FFF)
(0x8FBC8FFF)
darkslateblue
(0x483D8BFF)
(0x483D8BFF)
darkslategray
(0x2F4F4FFF)
(0x2F4F4FFF)
darkslategrey
(0x2F4F4FFF)
(0x2F4F4FFF)
darkturquoise
(0x00CED1FF)
(0x00CED1FF)
darkviolet
(0x9400D3FF)
(0x9400D3FF)
deeppink
(0xFF1493FF)
(0xFF1493FF)
deepskyblue
(0x00BFFFFF)
(0x00BFFFFF)
dimgray
(0x696969FF)
(0x696969FF)
dimgrey
(0x696969FF)
(0x696969FF)
dodgerblue
(0x1E90FFFF)
(0x1E90FFFF)
firebrick
(0xB22222FF)
(0xB22222FF)
floralwhite
(0xFFFAF0FF)
(0xFFFAF0FF)
forestgreen
(0x228B22FF)
(0x228B22FF)
fuchsia
(0xFF00FFFF)
(0xFF00FFFF)
gainsboro
(0xDCDCDCFF)
(0xDCDCDCFF)
ghostwhite
(0xF8F8FFFF)
(0xF8F8FFFF)
gold
(0xFFD700FF)
(0xFFD700FF)
goldenrod
(0xDAA520FF)
(0xDAA520FF)
gray
(0x808080FF)
(0x808080FF)
green
(0x008000FF)
(0x008000FF)
greenyellow
(0xADFF2FFF)
(0xADFF2FFF)
grey
(0x808080FF)
(0x808080FF)
honeydew
(0xF0FFF0FF)
(0xF0FFF0FF)
hotpink
(0xFF69B4FF)
(0xFF69B4FF)
indianred
(0xCD5C5CFF)
(0xCD5C5CFF)
indigo
(0x4B0082FF)
(0x4B0082FF)
ivory
(0xFFFFF0FF)
(0xFFFFF0FF)
khaki
(0xF0E68CFF)
(0xF0E68CFF)
lavender
(0xE6E6FAFF)
(0xE6E6FAFF)
lavenderblush
(0xFFF0F5FF)
(0xFFF0F5FF)
lawngreen
(0x7CFC00FF)
(0x7CFC00FF)
lemonchiffon
(0xFFFACDFF)
(0xFFFACDFF)
lightblue
(0xADD8E6FF)
(0xADD8E6FF)
lightcoral
(0xF08080FF)
(0xF08080FF)
lightcyan
(0xE0FFFFFF)
(0xE0FFFFFF)
lightgoldenrodyellow
(0xFAFAD2FF)
(0xFAFAD2FF)
lightgray
(0xD3D3D3FF)
(0xD3D3D3FF)
lightgreen
(0x90EE90FF)
(0x90EE90FF)
lightgrey
(0xD3D3D3FF)
(0xD3D3D3FF)
lightpink
(0xFFB6C1FF)
(0xFFB6C1FF)
lightsalmon
(0xFFA07AFF)
(0xFFA07AFF)
lightseagreen
(0x20B2AAFF)
(0x20B2AAFF)
lightskyblue
(0x87CEFAFF)
(0x87CEFAFF)
lightslategray
(0x778899FF)
(0x778899FF)
lightslategrey
(0x778899FF)
(0x778899FF)
lightsteelblue
(0xB0C4DEFF)
(0xB0C4DEFF)
lightyellow
(0xFFFFE0FF)
(0xFFFFE0FF)
lime
(0x00FF00FF)
(0x00FF00FF)
limegreen
(0x32CD32FF)
(0x32CD32FF)
linen
(0xFAF0E6FF)
(0xFAF0E6FF)
magenta
(0xFF00FFFF)
(0xFF00FFFF)
maroon
(0x800000FF)
(0x800000FF)
mediumaquamarine
(0x66CDAAFF)
(0x66CDAAFF)
mediumblue
(0x0000CDFF)
(0x0000CDFF)
mediumorchid
(0xBA55D3FF)
(0xBA55D3FF)
mediumpurple
(0x9370DBFF)
(0x9370DBFF)
mediumseagreen
(0x3CB371FF)
(0x3CB371FF)
mediumslateblue
(0x7B68EEFF)
(0x7B68EEFF)
mediumspringgreen
(0x00FA9AFF)
(0x00FA9AFF)
mediumturquoise
(0x48D1CCFF)
(0x48D1CCFF)
mediumvioletred
(0xC71585FF)
(0xC71585FF)
midnightblue
(0x191970FF)
(0x191970FF)
mintcream
(0xF5FFFAFF)
(0xF5FFFAFF)
mistyrose
(0xFFE4E1FF)
(0xFFE4E1FF)
moccasin
(0xFFE4B5FF)
(0xFFE4B5FF)
navajowhite
(0xFFDEADFF)
(0xFFDEADFF)
navy
(0x000080FF)
(0x000080FF)
oldlace
(0xFDF5E6FF)
(0xFDF5E6FF)
olive
(0x808000FF)
(0x808000FF)
olivedrab
(0x6B8E23FF)
(0x6B8E23FF)
orange
(0xFFA500FF)
(0xFFA500FF)
orangered
(0xFF4500FF)
(0xFF4500FF)
orchid
(0xDA70D6FF)
(0xDA70D6FF)
palegoldenrod
(0xEEE8AAFF)
(0xEEE8AAFF)
palegreen
(0x98FB98FF)
(0x98FB98FF)
paleturquoise
(0xAFEEEEFF)
(0xAFEEEEFF)
palevioletred
(0xDB7093FF)
(0xDB7093FF)
papayawhip
(0xFFEFD5FF)
(0xFFEFD5FF)
peachpuff
(0xFFDAB9FF)
(0xFFDAB9FF)
peru
(0xCD853FFF)
(0xCD853FFF)
pink
(0xFFC0CBFF)
(0xFFC0CBFF)
plum
(0xDDA0DDFF)
(0xDDA0DDFF)
powderblue
(0xB0E0E6FF)
(0xB0E0E6FF)
purple
(0x800080FF)
(0x800080FF)
rebeccapurple
(0x663399FF)
(0x663399FF)
red
(0xFF0000FF)
(0xFF0000FF)
rosybrown
(0xBC8F8FFF)
(0xBC8F8FFF)
royalblue
(0x4169E1FF)
(0x4169E1FF)
saddlebrown
(0x8B4513FF)
(0x8B4513FF)
salmon
(0xFA8072FF)
(0xFA8072FF)
sandybrown
(0xF4A460FF)
(0xF4A460FF)
seagreen
(0x2E8B57FF)
(0x2E8B57FF)
seashell
(0xFFF5EEFF)
(0xFFF5EEFF)
sienna
(0xA0522DFF)
(0xA0522DFF)
silver
(0xC0C0C0FF)
(0xC0C0C0FF)
skyblue
(0x87CEEBFF)
(0x87CEEBFF)
slateblue
(0x6A5ACDFF)
(0x6A5ACDFF)
slategray
(0x708090FF)
(0x708090FF)
slategrey
(0x708090FF)
(0x708090FF)
snow
(0xFFFAFAFF)
(0xFFFAFAFF)
springgreen
(0x00FF7FFF)
(0x00FF7FFF)
steelblue
(0x4682B4FF)
(0x4682B4FF)
tan
(0xD2B48CFF)
(0xD2B48CFF)
teal
(0x008080FF)
(0x008080FF)
thistle
(0xD8BFD8FF)
(0xD8BFD8FF)
tomato
(0xFF6347FF)
(0xFF6347FF)
transparent
(0x00000000)
(0x00000000)
turquoise
(0x40E0D0FF)
(0x40E0D0FF)
violet
(0xEE82EEFF)
(0xEE82EEFF)
wheat
(0xF5DEB3FF)
(0xF5DEB3FF)
white
(0xFFFFFFFF)
(0xFFFFFFFF)
whitesmoke
(0xF5F5F5FF)
(0xF5F5F5FF)
yellow
(0xFFFF00FF)
(0xFFFF00FF)
yellowgreen
(0x9ACD32FF)
(0x9ACD32FF)
アルファ値に関しては、上記のようにすべて 0xff (255) の不透過になっています。
アルファ値部分だけを変更したい場合は、下記のように rgba
関数で指定することができます。
$my-color: rgba(red, 0.3); // アルファ30%
色を調整するための関数
明度を調整する lighten()
/ darken()
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()
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 |
2つの色の中間色を作成する mix()
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 |