CSS カラー関数は、Web デザインで色を定義および操作するための堅牢なツールキットを開発者に提供します。これらの機能により柔軟性と精度が向上し、ダイナミックで視覚的に魅力的なデザインを作成できます。この記事では、CSS カラー関数の歴史、解決しようとしている問題、効果的な活用方法について詳しく説明します。
当初、CSS は名前付きの色や 16 進表記など、色を定義するための限られたセットの方法を提供していました。これらの方法はシンプルで効果的でしたが、より高度な設計ニーズに必要な柔軟性と精度が欠けていました。 Web デザインが進化するにつれて、より高度な色操作技術の必要性も高まりました。
rgb() 関数と hsl() 関数の導入により、CSS でのより多用途な色の定義が始まりました。これらの関数により、色のプロパティをより詳細に制御できるようになり、動的で応答性の高いデザインを簡単に作成できるようになりました。しかし、Web デザインの複雑さの増大により限界はさらに押し広げられ、lab()、lch()、oklch() などのさらに高度なカラー関数の開発につながりました。
1.知覚の均一性: RGB や HSL などの従来のカラー モデルは、人間の色の違いの知覚を考慮していません。 lab()、lch()、oklch() などの最新の関数は、知覚的に均一になるように設計されています。つまり、色の値の変化は、それらの変化を私たちがどのように認識するかにより密接に対応します。
2.動的な色調整: color-mix() や color-contrast() などの関数は、周囲の状況に基づいて色を動的に調整するツールを提供し、読みやすさと視覚的な調和を確保します。
3.一貫性と予測可能性: 最新の関数は、色の混合と一致の際に、より一貫性のある予測可能な結果を提供します。これは、一貫性のあるデザインを作成するために重要です。
4.アクセシビリティ: 改良されたカラー機能により、十分なコントラストと色の識別性を容易に確保できるため、アクセシブルなデザインの作成に役立ちます。
CSS は、「赤」、「緑」、「青」など、さまざまな事前定義された名前付きの色をサポートしています。
.element { background-color: red; }
RGB カラーの 16 進表記。
.element { background-color: #ff6347; /* Tomato */ }
赤、緑、青のカラー モデルを使用して色を定義します。
.element { background-color: rgb(255, 99, 71); /* Tomato */ background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */ }
色相-彩度-明度モデルを使用します。
.element { background-color: hsl(9, 100%, 64%); /* Tomato */ background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */ }
カラープロパティの現在の値を使用します。
.element { color: #ff6347; border: 2px solid currentColor; /* Border color matches text color */ }
レベッカ アリソン メイヤーに敬意を表して導入された名前付きカラー。
.element { background-color: rebeccapurple; /* #663399 */ }
シアン、マゼンタ、イエロー、ブラックのカラー モデルを使用して色を定義します。
.element { background-color: cmyk(0, 1, 1, 0); /* Red */ }
色の色合いを指定した度合いで調整します。
.element { background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */ }
色の彩度を高めます。
.element { background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */ }
色の彩度を下げます。
.element { background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */ }
色を明るくします。
.element { background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */ }
色を暗くします。
.element { background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */ }
さまざまな色空間の色を使用できます。
.element { background-color: color(display-p3 1 0.5 0); /* Display P3 color space */ }
2 つの色をブレンドします。
.element { background-color: color-mix(in srgb, blue 30%, yellow 70%); }
知覚の均一性のために CIE LAB カラー モデルを使用します。
.element { background-color: lab(60% 40 30); /* Lightness, a*, b* */ }
CIE LAB カラー モデルの円筒形表現。
.element { background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */ }
色に加えられる白と黒の量に焦点を当てます。
.element { background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */ }
パーセンテージを使用してグレーの階調を作成します。
.element { background-color: gray(50%); /* Medium gray */ }
背景に対して十分なコントラストを提供する色を選択します。
.element { background-color: color-contrast(white vs black, blue, red); }
Oklab の輝度、彩度、色相を使用して知覚の均一性を実現します。
.element { background-color: oklch(80% 0.5 200); /* Luminance, Chroma, Hue */ }
1.ホバー エフェクト: rgba() または hsla() を使用して、透明度のある微妙なホバー エフェクトを作成します。
.button { background-color: rgb(0, 123, 255); } .button:hover { background-color: rgba(0, 123, 255, 0.8); }
2.テーマ: テーマ対応コンポーネントの作成には currentColor を利用します。
.theme-dark { color: #ffffff; } .theme-light { color: #000000; } .themed-element { border: 1px solid currentColor; }
3.動的カラー: 明度や彩度の変更など、動的カラー調整に hsl() を利用します。
.lighten { background-color: hsl(220, 90%, 70%); } .darken { background-color: hsl(220, 90%, 30%); }
4.一貫した色の混合: より自然で一貫したように見える方法で色を混合するには、oklch() を使用します。
.box { background-color: oklch(75% 0.3 90); /* Soft, bright color */ } .highlight { background-color: oklch(75% 0.3 120); /* Slightly different hue */ }
5.カラーハーモニー: 輝度と彩度を一定に保ちながら色相を調整することで、調和のとれた配色を作成します。
.primary { background-color: oklch(70% 0.4 30); } .secondary { background-color: oklch(70% 0.4 60); } .accent { background-color: oklch(70% 0.4 90); }
6.アクセシブルな色: oklch() を使用して、知覚的に区別できる色を作成し、読みやすさとアクセシビリティを向上させます。
.text { color: oklch(20% 0.1 30); /* Dark color for text */ } .background { background-color: oklch(90% 0.1 30); /* Light background color */ }
最新の CSS カラー関数は Web デザインの機能を拡張し、より高いレベルの精度と柔軟性を提供します。 lab()、lch()、hwb()、gray()、color-contrast()、oklch() などの関数を組み込むことで、より高度でアクセスしやすい色の操作を実現できます。 Web デザイン プロジェクトでこれらの強力なツールの可能性を最大限に活用し続けるために、CSS の最新の開発情報を常に入手してください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3