6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

導入

UIデザイナーを目指して修行するために、いろんなライブラリやscss, cssを知っておく必要があると考えたので、いろいろ調べてアウトプットしていこうという企画です。できたら毎日1つ紹介していきたいなぁと思います

colorは基礎中の基礎

だと思ってきました

cssのcolorって、だれでも使うし当たり前のように

color:red

だとか

color:linear-gradient(90deg, #5BC7F9 0%, #FF6FEC 50%, #FF537B 100%);

とかって書いてきたはずです。いまさらcolorなんか勉強して何になるんだよと思いましたが、ちゃんと調べてみると色々おもしろいな、勉強しておくべきだなと思った部分がいくつもありましたので、今回は、scss内で使える便利なcolorの操作関数を紹介します

mix

色を混ぜられるやつです。

mix(color1, color2, weight):2つの色を混ぜ合わせる

のようにして呼び出します。

普通に

color: mix(blue, red, 50%);  /* 紫になる */

とか単純に色を混ぜるのにも使えるのはもちろん、特に便利だなと思ったのが

color: mix(yellow, white, 5%);

のようにして白黒を混ぜたいときには本当に便利です!

後々紹介するlightenやdarkenでも代替可能ではありますが、色味が気に入らないことが多く、デザインかじってる身からするとほんとにありがたいです。

他にも、現在使ってる2,3色の色味から似てる色を引っ張ってくるときに疑似カラーパレットとしても使えます。個人的にかなりお気に入りです。

明度調整

先ほどチラっと述べたlightenとdarken関数です。

lighten(color, amount): 色を明るくする
darken(color, amount): 色を暗くする

のようにして呼び出します。

例としては、

color: lighten(#ff0000, 20%);  /* 20%明るい赤 */
color: darken(#ff0000, 20%);   /* 20%暗い赤 */

のようにして使います。

これを使えば爆速でhoverとかonClickのスタイルを作れます!
いつもだと

カラーパレット開いて
→基準の色から少し上(下)げた色味のカラーコードを出す
→貼り付け
→これを全Varient分繰り返し

とかいう本当に頭の悪い書き方をしなければなりませんでしたが、これを使えば

基準色決める
→相対値で明る(暗)くする
→コピペで基準職だけ変えれば楽々Varient作成

というスタイリッシュムーブに早変わり。
もう直でカラーコード指定するのはやめましょう。

ほかにも色味調整できるもの

明度調整の他にも、lighten関数らと同じように書けて便利なものがいくつかあります。

彩度(鮮やかさ)調整に使えるsaturate, desaturate関数

saturate(color, amount): 彩度を上げる
desaturate(color, amount): 彩度を下げる

透明度調整に使えるtransparentize, opacify関数

color: transparentize(#ff0000, 0.3);  /* 30%透明に */
color: opacify(#ff0000, 0.3);         /* 30%不透明に */

これめっちゃ使えます
オーバーレイで使ったり、背景の枠で使ったり、いちいちalphaを設定しなくてもこれ一つでできます。押せないボタンのUIとかにもいいんじゃないでしょうか。

おもしろいけど実用性不明なやつ

実用性はあるかわからないけど、軽い画像処理的なものもできます。

grayscaleでグレースケール化

color: grayscale(#ff0000);

補色を出せるcomplement関数

color: complement(#ff0000);

反転色を出せるinvert関数

color: invert(#ff0000);

うーん、実用性はほぼないでしょう。そもそもデザインする人ならみなさんカラーパレットは使ってると思うので、これで反対色とかは出せるしなぁ...(笑)
まぁ小ネタ程度に知っておくのも悪くないんじゃないでしょうか。

おすすめの使い方

この前チーム開発の時にこれらの関数があることを思い出して、ふと使ってみたらめちゃくちゃ便利で、特に

theme等で共通の色を使いまわすとき

にめちゃくちゃ重宝します。
いちいちボタン用にhover用の色、onClick用の色として、themeに追加していくのも煩雑で美しくないですし、tsx内にカラーコード直書きなんてもってのほかです。

効率的にフロントデザインの開発をしたいなら今回紹介したcolor関数たちを使いましょう

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?