ホームページ > ウェブフロントエンド > CSSチュートリアル > 最新の CSS カラー関数の力を解き放つ: 歴史、用途、実践的な応用

最新の CSS カラー関数の力を解き放つ: 歴史、用途、実践的な応用

WBOY
リリース: 2024-07-16 16:37:17
オリジナル
653 人が閲覧しました

Unlocking the Power of Modern CSS Color Functions: History, Uses, and Practical Applications

CSS カラー関数は、Web デザインで色を定義および操作するための堅牢なツールキットを開発者に提供します。これらの機能により柔軟性と精度が向上し、ダイナミックで視覚的に魅力的なデザインを作成できます。この記事では、CSS カラー関数の歴史、それらが解決しようとしている問題、およびそれらを効果的に利用する方法について詳しく説明します。

CSS カラー関数の簡単な歴史

当初、CSS は名前付きの色や 16 進表記など、色を定義するための限られたメソッドのセットを提供していました。これらの方法はシンプルで効果的でしたが、より高度な設計ニーズに必要な柔軟性と精度が欠けていました。 Web デザインが進化するにつれて、より高度な色操作技術の必要性も高まりました。

rgb() 関数と hsl() 関数の導入により、CSS でのより多用途な色の定義が始まりました。これらの関数により、色のプロパティをより詳細に制御できるようになり、動的で応答性の高いデザインを簡単に作成できるようになりました。しかし、Web デザインの複雑さの増大により限界はさらに押し広げられ、lab()、lch()、oklch() などのさらに高度なカラー関数の開発につながりました。

最新の CSS カラー関数はどのような問題を解決しますか?

1.知覚の均一性: RGB や HSL などの従来のカラー モデルは、人間の色の違いの知覚を考慮していません。 lab()、lch()、oklch() などの最新の関数は、知覚的に均一になるように設計されています。つまり、色の値の変化は、それらの変化を私たちがどのように認識するかにより密接に対応します。

2.動的な色調整: color-mix() や color-contrast() などの関数は、周囲の環境に基づいて色を動的に調整するツールを提供し、読みやすさと視覚的な調和を確保します。

3.一貫性と予測可能性: 最新の機能は、色の混合と一致の際に、より一貫性のある予測可能な結果を​​提供します。これは、一貫性のあるデザインを作成するために重要です。

4.アクセシビリティ: 改善されたカラー機能により、色の十分なコントラストと識別性を確保しやすくなり、アクセシブルなデザインの作成が容易になります。

CSS カラー関数の概要

1. 名前付きの色

CSS は、「赤」、「緑」、「青」など、さまざまな事前定義された名前付きの色をサポートしています。

.element {
  background-color: red;
}
ログイン後にコピー

2. 16進数表記

RGB カラーの 16 進表記

.element {
  background-color: #ff6347; /* Tomato */
}
ログイン後にコピー

3. rgb() と rgba()

赤-緑-青カラーモデルを使用して色を定義します。

.element {
  background-color: rgb(255, 99, 71); /* Tomato */
  background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */
}
ログイン後にコピー

4. hsl() と hsla()

色相-彩度-明度モデルを使用します。

.element {
  background-color: hsl(9, 100%, 64%); /* Tomato */
  background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */
}
ログイン後にコピー

5. 現在の色

カラープロパティの現在の値を使用します。

.element {
  color: #ff6347;
  border: 2px solid currentColor; /* Border color matches text color */
}
ログイン後にコピー

6.レベッカパープル

レベッカ・アリソン・マイヤーに敬意を表して導入された名前付きカラー。

.element {
  background-color: rebeccapurple; /* #663399 */
}
ログイン後にコピー

7.cmyk()

シアン、マゼンタ、イエロー、ブラックのカラー モデルを使用して色を定義します。

.element {
  background-color: cmyk(0, 1, 1, 0); /* Red */
}
ログイン後にコピー

8. 色相調整()

色の色合いを指定された度合いで調整します。

.element {
  background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */
}
ログイン後にコピー

9. 飽和()

色の彩度を高めます。

.element {
  background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */
}
ログイン後にコピー

10. 彩度を下げる()

色の彩度を下げます。

.element {
  background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */
}
ログイン後にコピー

11. 明るくする()

色を明るくします。

.element {
  background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */
}
ログイン後にコピー

12. 暗くする()

色を暗くします。

.element {
  background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */
}
ログイン後にコピー

13.カラー()

さまざまな色空間の色を使用できます。

.element {
  background-color: color(display-p3 1 0.5 0); /* Display P3 color space */
}
ログイン後にコピー

14. カラーミックス()

2 つの色をブレンドします。

.element {
  background-color: color-mix(in srgb, blue 30%, yellow 70%);
}
ログイン後にコピー

15. ラボ()

知覚の均一性のために CIE LAB カラー モデルを使用します。

.element {
  background-color: lab(60% 40 30); /* Lightness, a*, b* */
}
ログイン後にコピー

16.lch()

CIE LAB カラーモデルの円筒表現。

.element {
  background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */
}
ログイン後にコピー

17.hwb()

色に加えられる白と黒の量に焦点を当てます。

.element {
  background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */
}
ログイン後にコピー

18. グレー()

パーセンテージを使用してグレーの階調を作成します。

.element {
  background-color: gray(50%); /* Medium gray */
}
ログイン後にコピー

19. カラーコントラスト()

背景に対して十分なコントラストを提供する色を選択します。

.element {
  background-color: color-contrast(white vs black, blue, red);
}
ログイン後にコピー

20.oklch()

知覚の均一性のために 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. Dynamic Colors: Leverage hsl() for dynamic color adjustments, such as changing lightness or saturation.

.lighten {
  background-color: hsl(220, 90%, 70%);
}
.darken {
  background-color: hsl(220, 90%, 30%);
}
ログイン後にコピー

4. Consistent Color Mixing: Use oklch() for mixing colors in a way that appears more natural and consistent.

.box {
  background-color: oklch(75% 0.3 90); /* Soft, bright color */
}
.highlight {
  background-color: oklch(75% 0.3 120); /* Slightly different hue */
}
ログイン後にコピー

5. Color Harmonies: Create harmonious color schemes by adjusting hue while keeping luminance and chroma constant.

.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. Accessible Colors: Use oklch() to create colors that are perceptually distinct, improving readability and accessibility.

.text {
  color: oklch(20% 0.1 30); /* Dark color for text */
}
.background {
  background-color: oklch(90% 0.1 30); /* Light background color */
}
ログイン後にコピー

Conclusion

Modern CSS color functions extend the capabilities of web design, offering a higher level of precision and flexibility. By incorporating functions like lab(), lch(), hwb(), gray(), color-contrast(), and oklch(), you can achieve more sophisticated and accessible color manipulations. Stay updated with the latest developments in CSS to continue leveraging the full potential of these powerful tools in your web design projects.

以上が最新の CSS カラー関数の力を解き放つ: 歴史、用途、実践的な応用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート