CSSカラーモジュールレベル4は、おそらく 4および8桁の16進数のRGBA表記をサポートします。
3週間前(2014年12月18日)に、CSSカラーモジュールレベル4エディターのドラフトがCSS W3Cワーキンググループに提出されました。変更の影響を非常に受けやすい状態にありますが、ドキュメントの現在のバージョンは、やや近い将来、CSSが4桁と8桁の16進数のRGBA表記の両方をサポートすることを示唆しています。
注:次の引用では無関係な部分が切り取られており、これを読んだ時点でソースが大幅に変更されている可能性があります(前述のように、これは編集者の下書きであり、最終的なドキュメントではありません)。
状況が大きく変わった場合は、コメントを残してお知らせください。この回答を更新できます!
§4.2。RGB 16進表記:#RRGGBB
構文は、<hex-color>
ある<hash-token>
トークンの値が3、4、6、または8桁の16進数で構成され。つまり、16進数の色はハッシュ文字「#」として記述され、その後にいくつかの数字0-9
または文字が続きます(文字a-f
の大文字と小文字は関係ありません- #00ff00
と同じです#00FF00
)。
8桁
最初の6桁は6桁表記と同じように解釈されます。16進数として解釈される最後の数字のペアは、色のアルファチャネルを指定します。ここで00
、完全に透明な色をff
表し、完全に不透明な色を表します。
例3
言い換えると、(わずかに透明な青)#0000ffcc
と同じ色を表しrgba(0, 0, 100%, 80%)
ます。
4桁
これは、8桁表記の短い変形で、3桁表記と同じように「拡張」されています。最初の桁は16進数として解釈され、色の赤のチャネルを指定します。ここで0
、最小値とf
最大値を表します。次の3桁は、それぞれ緑、青、アルファチャネルを表します。
これはCSSカラーの将来にとってどのような意味がありますか?
これは完全にレベル4の文書から削除されません(あなたのしているものならば、またはHSLAの色、我々はすぐに私たちのRGBAの色を定義できるようになりますと仮定していることこれは、これらのブラウザでは16進数でみんなが)カラーをサポートモジュールレベル4の構文。
例
elem {
background: rgb(0, 0, 0); /* RGB notation (no alpha). */
background: #000; /* 3-digit hexadecimal notation (no alpha). */
background: #000000; /* 6-digit hexadecimal notation (no alpha). */
background: rgba(0, 0, 0, 1.0); /* RGBA notation. */
/* The new 4 and 8-digit hexadecimal notation. */
background: #0000; /* 4-digit hexadecimal notation. */
background: #00000000; /* 8-digit hexadecimal notation. */
}
クライアント向け製品でいつ使用できますか?
すべてのジョークは別として、現在2015年の初めにすぎないため、これらのブラウザーはまだかなり長い間サポートされていません-製品が最新のブラウザーでのみ動作するように設計されている場合でも、おそらく実稼働ブラウザでこれが実際に動作するのをすぐに見ないでください。
#RRGGBBAAカラー表記の現在のブラウザーサポートを表示する
しかし、そうは言っても、CSSの仕組みは、実際にCSSを実際に使い始めることができることを意味します!すぐに使用を開始したい場合は、フォールバックを追加する限り、サポートされていないブラウザーは、有効であると見なされるまで、新しいプロパティを単に無視します。
figure {
margin: 0;
padding: 4px;
/* Fall back (...to browsers which don't support alpha transparency). */
background: #FEFE7F;
color: #3F3FFE;
/* Current 'modern' browser support. */
background: rgba(255, 255, 0, 0.5);
color: rgba(0, 0, 255, 0.75);
/* Fall... foward? */
background: #ffff007F; /* Or, less accurately, #ff08 */
color: #0000ffbe; /* Or #00fc */
}
<figure>Hello, world!</figure>
CSS のbackground
およびcolor
プロパティをサポートするブラウザーでこの回答を表示している限り<figure>
、上記のスニペットの結果の要素は次のようになります。
Windows上のChromeの最新バージョン(v39.0.2171)を使用して<figure>
要素を検査すると、次のようになります。
6桁の16進数のフォールバックはrgba()
値によってオーバーライドされ、8桁の16進数の値は現在ChromeのCSSパーサーによって無効と見なされているため無視されます。ブラウザーがこれらの8桁の値をサポートするとすぐに、これらの値はオーバーライドされますrgba()
。
UPDATE 2018-07-04: Firefox、Chrome、Safariはこの表記をサポートしていますが、Edgeはまだありませんが、おそらく続くでしょう(https://caniuse.com/#feat=css-rrggbbaa)。
rgb(0xff,\x80,#44)
驚くほどオクタル表現は少しはニューヨークに思えるrgb(0100, 0200,0300)
される#4080C0