web-dev-qa-db-ja.com

CSSのRGBカラー値に16進数で16進数を使用することには、何か理由がありますか?

rgb(255,255,255)表記はCSS1から利用可能です。だが #ffffffの方がはるかに人気があるようです。

明らかにそれは少しコンパクトです。 16進数は基礎となるバイトとより密接に関連していることを知っており、これらの値に対して算術を実行することには利点があることを理解していますが、これはCSSで行うことではありません。

色の値は、他の場所では16進表記に遭遇しないデザイナー(私など)によって作成される傾向があり、使用するアプリで色を指定する主な方法である10進表記にはるかに精通しています-実際、私は与えられた16進値がRGBコンポーネントにどのように分解されるかを理解しておらず、Pantoneカラーシステムリファレンス(PMS432など)のように、カラーとは直接関係がないと想定している人にかなり会いました。

では、10進数を使用しない理由はありますか?

58
e100

16進値は、お気に入りの画像エディターからコピーして貼り付ける方が簡単です。

RGB値はJavascriptで操作する方が簡単です。

(私のお気に入りの16進数の色の値は#EDEDEDで、モータースポーツに関わるクライアントのために作成したサイトの背景色は#F1F1F1 :-)でした。

エド。

32
edeverett

RGBA値を入力する場合、16進表記はサポートされないことに注意してください。つまり、#FFFFFFffでは偽造できません。実際のところ、アルファ値は0.0以上1.0以下の数値でなければなりません。 (ブラウザのサポートについては このページ をご覧ください-いつものように、IEはここでパックをリードしています。;))

HSLおよびHSLAカラーサポート-veryデザイナーに優しい-RGB()スタイルと同様の構文も提供されます。デザイナーが同じスタイルシートで両方のタイプのカラー値を使用する場合、一貫性を保つために16進コードよりも10進値を選択する場合があります。

19
WCWedin

慣れていると思います。 HTMLに慣れている場合は、HTMLでよく使用されているため、おそらくHEXを使用します。 Photoshop/Corel/PaintShopProなどを使用しているデザインのバックグラウンドの場合、RGB表記に慣れている可能性がありますが、最近の多くのプログラムにはHEX値フィールドも組み込まれています。

すでに述べたように、RGBAはRGB表記(一貫性)をそのまま使用する理由になる可能性があります。

でもシナリオにもよると思います。両方に慣れている場合は、これらを切り替えるだけです。_#fff_は、rgb(255,255,255)よりも入力がはるかに簡単です。

もう1つの質問は、人々がWhiteではなく_#fff_と言う理由です(ほとんどのブラウザーがこのキーワードをサポートしていると想定しています)。

これは、すべて好みと読みやすさの問題です。巨大なCSSファイルを管理している場合、色の値を確認して、その色が何であるかを知ることができれば、非常に有利です。さらに有利なのは [〜#〜] less [〜#〜] または Sass のようなものを使用してCSSに一種のプログラマビリティを追加することです-たとえば定数を許可します。だから言う代わりに:

_#title { color: #abcdef; }
_

代わりに、LESSを使用して次のことを実行できます。

_@base-color: #abcdef;

#title { color: @base-color; }
_

CSSの保守はそれほど問題にはなりません。

結果として表示されるブラウザーのパフォーマンスが心配な場合は、それも選択の要因の1つになる可能性があります。

つまり、要約すると次のようになります。

  • 親しみやすさ
  • 好み
  • 保守性
  • パフォーマンス
8
jamiebarrow

あなたが言ったように、主な理由はおそらくコンパクトさです。 #ffffffは、さらに#fff省略表記。

もう1つの考えられる理由は、ブラウザーでrgb表記を変換する手間を省くことで、パフォーマンスが向上したと認識されていることです。

6
Bill the Lizard

私は常に16進数を使用していましたが、今日は次のように値を設定することを好みます。

rgb(82, 110, 188)

私のcssファイルでは、不透明度を追加したいときはいつでも、rgbの名前をrgbaに変更し、不透明度の値を追加する必要があります。利点は、不透明度を追加する前に16進値をRGBに変換する必要がないことです。

rgba(82, 110, 188, 0.5)
6
chrisweb

従来、HTMLは常に16進数の色を使用していたため、CSSにも採用されてきました。思う<font color="#ffffff">

6
Greg

CSSは、デザイナーではなくソフトウェア開発者によって発明されました。ソフトウェア開発者は、16進数を生きて呼吸します。私の古いC64日から、私はまだほとんど考えずに16進数を読むことができます。 A9、誰か?

4
Aaron Digulla

さまざまなものが単一の16進値を受け入れますが、3つの10進値を入力する方法はさまざまです。 always 6文字(または3、確かに-プラス#)であるという事実もあります。これにより、それらのリストを簡単にスキャンできます。

ミックスに追加するいくつかのランダムな考え...

4
Jon Skeet

おそらく、ブラウザで色が解釈されるときの速度のタッチ。そうでなければ、デザインの背景にいる人の中には、コードを書くときにRGBコンポーネントから色を構成する方法を知っている人もいますし、プログラミングの背景にいる人の中には、おそらくHEX値を使用する傾向がある人もいます。

2
Elzo Valugi

HTMLを長すぎたのかもしれませんが、HEX値で考える方が簡単だと思います。 HTML用の事前定義されたカラーパレットの多くは、HEX値にきちんと対応しています。これは、32ビットカラーディスプレイの時代には実際には問題ではありませんが、短縮形式を使用すると、自動的に「Webセーフ」の色が得られます。

1
Dan Diplo

HEXは歴史的な理由により最も一般的です。

CSSがWeb開発で一般的になる前は、色はHTMLタグ内で指定され、色を指定するために最も一般的に使用されサポートされている方法はHEX値を使用することでした。

1
user636044

個人的な好み以外には正当な理由はありません。

1
KellCOMnet