Yourpedia:ウェブカラー
ウェブカラー(英:Web colors)はウェブページのデザインで使う色であり、その色を指定し記述する方法である。16進の色コードはハッシュ記号 (#) が先頭に付与される[1][2] 。
ウェブページのデザインにあたって、ウェブ文書の要素として色を指定する方法はいくつかある。RGBの三つ組みの16進数形式(16進トリプレット)で色を指定することもできる。場合によっては、色名称をつかって指定することもできる。カラーツールや他のグラフィックソフトウェアを色の値を生成するのに使うことが比較的多い。
初期の Mosaic や Netscape Navigator はどちらも X Window System のアプリケーションとして始まったということもあり、X11の色名称を基盤としていた[3]。
ウェブカラーには sRGB という明確な比色分析的定義があり、特定の蛍光体の色度、所定の伝達曲線、順応性のホワイトポイント、観察条件などに基づいている[4]。これは一般的なコンピュータのモニターとそれを人間が見る環境に合うように選択されており、カラーマネージメントシステムなしでもそれなりの色再現性がある。しかし、指定された色を再現する忠実度はユーザーの環境に左右される。よりよい色忠実度を実現するには、カラーマネジメントを使ったよりよい環境を必要とする。これはウェブのコンテンツを紙に印刷する際に特に重要である。
目次
16進トリプレット表記[編集]
16進トリプレットは16進数6桁、3バイトの数値であり、HTML、CSS、SVGやその他のアプリケーションで色を表すのに使用する。それぞれのバイトが色の赤・緑・青の成分を表す。1つのバイトは(16進数で)00からFFまでの数値を表し、10進では0から255である。これにより、それぞれの成分の強さを最小 (0) から最大 (255)の範囲で表す。16進トリプレットはこの3つのバイトを並べたもので、その配置順序は次の通りである。
- 1バイトめ - 赤の値
- 2バイトめ - 緑の値
- 3バイトめ - 青の値
例えば、赤/緑/青の値が10進で、赤は36、緑は104、青は160 という色があるとする(灰色がかった青)。10進数の36、104、160をそれぞれ16進数で表すと24、68、A0となる。この色を16進トリプレットで表すと 2468A0 となる。
なお、10進で16未満、16進で10未満の値の場合、ゼロを前置してトリプレットを常に6桁に保つ必要がある。たとえば10進で 4、8、16という値なら16進では 04、08、10となり、16進トリプレットは 040810 となる。
この体系で表現できる色の数(種類)は次のようになる。
- <math>256 \times 256 \times 256 = 16,777,216</math>
16進トリプレットを短縮し、16進3桁で表現する方式もある[5]。このフォーマットを通常の16進トリプレットに変換するには、各桁を繰り返せばよく、例えば 09C なら 0099CC とすればよい。この3桁のフォーマットはCSSの仕様にあり、HTMLの色指定では規格外となっている[6]。
RGBから16進への変換[編集]
RGBのそれぞれの値は一般に0から255の範囲で与えられる。0から1の小数で表す場合、255倍すればよい。この値を16で割り、「○余り△」の形にする。○と△を表の通りに変換して「●▲」のように並べたものが16進形式である。
○または△ | ●または▲ |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | A |
11 | B |
12 | C |
13 | D |
14 | E |
15 | F |
例えば、RGBの値が201なら、それを16で割ると12が得られるので、一桁目はCとなる。その余りは9なので、全体としてはC9となる。これを三原色それぞれについて繰り返す。
基数の変換は関数電卓など一部の電卓にもある機能である。ウェブ上にもこのような変換を行うツールが存在する。
HTMLでの色名称[編集]
HTML 4.01 仕様[7]では16の基本的な色名称を次のように定義している(大文字/小文字は区別しない)。
テンプレート:Colort テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color テンプレート:Colort/Color |}
これら16色は HTML 3.0 仕様にも sRGB で示されており、「この標準16色は Windows の VGA パレットでサポートされている」とある[8]。
X11の色名称[編集]
基本16色に加えて、ウェブブラウザにより多くの色が定義されている。特定のブラウザがそれらの色全てを認識できるとは限らないが、2005年時点のよく使われているブラウザは全色をサポートしている。これらの色は X Window System と共に普及したX11の色名称に基づいているものが多い。これらの色は SVG 1.0 で標準化され、SVG Full に対応したユーザーエージェントが受け付ける(SVG Tiny にはこれらの標準は含まれない)。
X11製品に付属する色名称一覧ファイルの内容は実装によって差異があり、HTML での色名称と食い違いも存在する(greenなど)。さらにX11での定義は sRGB のような特定の色空間を前提としていない単なるRGBとしての定義である。すなわち、X11にある色名称一覧ファイル(例えば、/usr/lib/X11/rgb.txt)をそのままウェブ上での色の選択に使うのは好ましくない[9]。
CSS3 仕様でウェブ用の "X11 colors" として定義されている色の一覧を16進と10進の値と共に示す。なお、同じ色で別名が示されているものもある。aqua(HTML4/CSS 1.0 での標準名)とcyan(sRGBでの名前)、magenta(sRGBでの名前)とfuchsia(HTML4/CSS 1.0 での標準名)、gray(HTML4/CSS 1.0 での標準名)と grey である[10][11]。
|
|
|
ウェブセーフカラー[編集]
かつて、コンピュータの多くが256色までしか同時に表示できない時期があった。ハードウェアの持つカラーパレットで表示する色を指定することもあった。画像などに表示できない色が見つかると、違う色を使うことがあった。このとき、最も近い色を使ったり(高速)、ディザを施したりもした(低速だが、見栄えがよい)。
「標準」カラーパレットを定める試みはいくつかあった。ディザリングなしで256色ディスプレイで表示するのに必要な色を定めるもので、OSが使用する16色から24色を除く216色について色の選択が検討された。216色というのは、赤・緑・青の強さの段階をそれぞれ6段階としたときの組み合わせ(6×6×6=216)でもある。
この色の一覧はディザリングを引き起こさない特殊な属性があるかのように提示された。しかし、256色ディスプレイでのアプリケーションはカラーパレットに任意の色を選択して置くことができ、残りはディザリングされる。ウェブセーフカラーは当時の主要なウェブブラウザのカラーパレットにマッチするよう選択された。幸運なことに他のウェブブラウザのカラーパレットも大きな差異はなかった。
X11などではアプリケーション間でカラーパレットを共有するため、ブラウザに割り当てられる色は256色よりも少ない(5×5×5または4×4×4)。したがってそのようなシステムではウェブセーフカラーであってもディザリングを生じる。したがって使っている色の範囲が広い画像については、ウェブセーフカラーに減色して提示するよりも、ブラウザ自身に色空間の量子化を任せたほうがよい結果が得られる。
2007年時点で、パーソナルコンピュータは一般に16ビットカラーか24ビットカラー (TrueColor) を実現している。携帯機器でさえ、携帯電話にカメラが搭載された影響もあって、16ビットカラー以上を実現している。以上からウェブセーフカラーの利用は減る傾向にある。
なお、ウェブセーフカラーの欠点の1つとして、背景に使える明るい色の選択肢が狭い点が挙げられる。また、暗い色同士は区別が難しいものもある。
ウェブセーフカラーには標準名称が存在せず、それぞれRGBトリプレットで指定する。三原色(赤、緑、青)のそれぞれの成分は次のように6段階の値をとる(24ビットカラーではRGBそれぞれ256段階を表現可能)。
キー | 16進 | 10進 | RGBの% |
---|---|---|---|
0 | 00 | 0 | 0% |
3 | 33 | 51 | 20% |
6 | 66 | 102 | 40% |
9 | 99 | 153 | 60% |
C (12) | CC | 204 | 80% |
F (15) | FF | 255 | 100% |
カラーテーブル[編集]
次の表は、ウェブセーフカラー全216色のRGB値を簡略化して示したものである。
例えば、609(R40%, G0%, B60%)は「RGBコード」では 102-0-153 であり、「16進トリプレット」では #660099 である。
凡例
- 下線のある色は、「最も安全」な22色。
- 見出しの「330°」などの数字は、MRYGCBの、それぞれのちょうど中間点となる、色相の値。
- F0F - C0Fまでの一列30色は、彩度・明度ともに最大=純色。
–
無 彩 |
FFF (White) |
CCC | 999 | 666 | 333 | 000 (Black) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M | 330° | R | 30° | Y | 90° | G | 150° | C | 210° | B | 270° | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
03 | 303 | 300 | 330 | 030 | 033 | 003 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
06 036 |
606 | 603 | 600 | 630 | 660 | 360 | 060 | 063 | 066 | 036 | 006 | 306 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
09 039 069 |
909 | 906 | 903 | 900 | 930 | 960 | 990 | 690 | 390 | 090 | 093 | 096 | 099 | 069 | 039 | 009 | 309 | 609 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0C 03C 06C 09C |
C0C | C09 | C06 | C03 | C00 | C30 | C60 | C90 | CC0 | 9C0 | 6C0 | 3C0 | 0C0 | 0C3 | 0C6 | 0C9 | 0CC | 09C | 06C | 03C | 00C | 30C | 60C | 90C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
0F 03F 06F 09F 0CF |
F0F (M) |
F 0 C |
F 0 9 |
F 0 6 |
F 0 3 |
F00 (R) |
F 3 0 |
F 6 0 |
F 9 0 |
F C 0 |
FF0 (Y) |
C F 0 |
9 F 0 |
6 F 0 |
3 F 0 |
0F0 (G) |
0 F 3 |
0 F 6 |
0 F 9 |
0 F C |
0FF (C) |
0 C F |
0 9 F |
0 6 F |
0 3 F |
00F (B) |
3 0 F |
6 0 F |
9 0 F |
C 0 F | ||||||||||||||||||||||||||||||||||||||||||||||||
36 | 636 | 633 | 663 | 363 | 366 | 336 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
39 369 |
939 | 936 | 933 | 963 | 993 | 693 | 393 | 396 | 399 | 369 | 339 | 639 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3C 36C 39C |
C3C | C39 | C36 | C33 | C63 | C93 | CC3 | 9C3 | 6C3 | 3C3 | 3C6 | 3C9 | 3CC | 39C | 36C | 33C | 63C | 93C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3F 36F 39F 3CF |
F3F | F3C | F39 | F36 | F33 | F63 | F93 | FC3 | FF3 | CF3 | 9F3 | 6F3 | 3F3 | 3F6 | 3F9 | 3FC | 3FF | 3CF | 39F | 36F | 33F | 63F | 93F | C3F | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
69 | 969 | 966 | 996 | 696 | 699 | 669 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6C 69C |
C6C | C69 | C66 | C96 | CC6 | 9C6 | 6C6 | 6C9 | 6CC | 69C | 66C | 96C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6F 69F 6CF |
F6F | F6C | F69 | F66 | F96 | FC6 | FF6 | CF6 | 9F6 | 6F6 | 6F9 | 6FC | 6FF | 6CF | 69F | 66F | 96F | C6F | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9C | C9C | C99 | CC9 | 9C9 | 9CC | 99C | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
9F 9CF |
F9F | F9C | F99 | FC9 | FF9 | CF9 | 9F9 | 9FC | 9FF | 9CF | 99F | C9F | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CF | FCF | FCC | FFC | CFC | CFF | CCF |
最も安全なウェブカラー[編集]
ウェブデザイナーは、かつてこの216色のウェブセーフカラーを使うことを推奨されていた。しかし、このカラーパレットが登場したころに比べると、8ビットカラーのディスプレイの利用は少なくなっている。
David Lehn と Hadley Stern は、ウェブセーフカラーの216色のうち、16ビットカラーのディスプレイで変換なしで表示できる色が「22色」だけであることを発見した。これら22色を「真に安全なパレット」と呼ぶ。上の表では、それらの色には下線を引いてある[12]。
色 |
16進3桁 | (#F0F) | #F03 | (#F00) | (#FF0) | #FF3 | #FF6 | (#FFF) | #CF6 | #6F0 | #6F3 | #3F3 |
色 |
16進3桁 | (#0F0) | #3F6 | #0F6 | #3FC | #0FC | #6FF | #3FF | (#0FF) | (#00F) | #003 | (#000) |
※ (赤字)は、「HTML基本16色」のうちの8色。
CSSカラー[編集]
Cascading Style Sheets 言語では、HTML 4 仕様と同じ数(基本の16色)の色を定義している。さらに CSS 2.1 はこれに "orange" を追加した[13]。
また CSS 2、SVG および CSS 2.1 では system colors と呼ばれる色が使えるが、これらの色はオペレーティングシステムのデスクトップで使っている色の値に名前をつけたものである。これらを使うとユーザーのOS環境に合わせた色を使うことができる[14]。2004年現在、CSS3 仕様ではこの機能が "depreated" とされているが、今後変更される可能性もある[15]。
CSS3 仕様ではまた、スタイルシートにHSL色空間を導入している。
<source lang="css"> /* RGB model */ p { color: #F00 } /* #rgb */ p { color: #FF0000 } /* #rrggbb */ p { color: rgb(255, 0, 0) } /* integer range 0 - 255 */ p { color: rgb(100%, 0%, 0%) } /* float range 0.0% - 100.0% */
/* RGB with alpha channel, added to CSS3 */ p { color: rgba(255, 0, 0, 0.5) } /* 0.5 opacity, semi-transparent */
/* HSL model, added to CSS3 */ p { color: hsl(0, 100%, 50%) } /* red */ p { color: hsl(120, 100%, 50%) } /* green */ p { color: hsl(120, 100%, 25%) } /* dark green */ p { color: hsl(120, 100%, 75%) } /* light green */ p { color: hsl(120, 50%, 50%) } /* pastel green */
/* HSL model with alpha channel */ p { color: hsla(120, 100%, 50%, 1) } /* green */ p { color: hsla(120, 100%, 50%, 0.5) } /* semi-transparent green */ p { color: hsla(120, 100%, 50%, 0.1) } /* very transparent green */ </source>
アクセス容易性[編集]
中には色をサポートしていないウェブブラウザや機器もある。そのような機器や、視覚障害、色覚異常のあるユーザーのため、ウェブコンテンツは色がなくとも使えるようにすることが望ましい。色が表示できないとき、背景と文字が似たような明るさで識別できくなることは避けるべきである[16]。同様にリンクを青で表示することが多いため、背景を青系の色にするとリンクが目立たなくなる。
脚注・出典[編集]
- ↑ Jennifer Niederst Robbins 著、「Web Design in a Nutshell」、103ページ
- ↑ Richard York 著、「Beginning CSS」、71-72ページ
- ↑ Guide to Graphics. SP LUS, splus.com. Page 13.[リンク切れ]
- ↑ Gaurav Sharma 著、「Digital Color Imaging Handbook」(ISBN 084930900X)
- ↑ CSS3 color module
- ↑ HTML4 Transitional Document Type Definition
- ↑ HTML 4.01 Specification section 6.5 "Colors"
- ↑ HTML 3.2 Specification "The BODY element"
- ↑ Public discussion on SVG mailing list Re: color names in SVG-1.0 conflict with /usr/lib/X11/rgb.txt
- ↑ W3C TR CSS3 Color Module, SVG color keywords
- ↑ W3C TR SVG 1.0, recognized color keyword names
- ↑ Death of the Websafe Color Palette?
- ↑ (2009-09-08) CSS 2.1 Specification: Syntax and basic data types: Colors 2009-09-08 [ arch. ] 2009-12-21
- ↑ User interface - System colors
- ↑ CSS3 Color Module - CSS2 System Colors
- ↑ If You Pick One Color, Pick Them All
関連項目[編集]
外部リンク[編集]