簡単な質問があります。RGBAでAlphaを使用しない場合、一部の色では、これらの色でHEXを使用する必要がありますか?RGBAにはないHEXの機能はありますか?たとえば、ブラウザの互換性のように?それとも、RGBAを常に使用しても問題ありませんか?私はそれがより良いと思います、もし私がアルファを使いたいのなら、私はそうすることができました。前もって感謝します。
4 に答える
どちらも、標準に準拠したブラウザと互換性がある必要があります。
編集:IEにはバグのある動作があるかもしれません(驚きです!):http ://css-tricks.com/ie-background-rgb-bug/
RGBAを使用する場合、正しい構文はR、G、Bの値を使用することだと思います。したがって、名前。代わりにHexを使用しようとはしていません。これにより、予期しない動作が発生する可能性があります。
ブラウザの互換性に関しては、HexとRGBはほとんど同じ/同じです。
ブラウザの互換性の観点から、現代風のブラウザにはほとんど違いはありません。
可能な場合は、HEXを使用します。短く、1つの文字列であるため、サードパーティのプログラム(Photoshopなど)にコピーするのが簡単です。また、Ertyが言及したIEのバグはありません。
RGBAは、アルファが必要な場合にのみ使用する傾向があります。他のすべての要素では、HEXを使用します。
実際には(ほとんど)常にHexを使用できます。
アルファが必要な場合でも、背景色(rgbaの要素の下)が単一の単色である限り、RGBA値を同等の16進値に変換する方法があります。
この変換のアルゴリズムはここにあります。
Source => Target = (BGColor + Source) =
Target.R = ((1 - Source.A) * BGColor.R) + (Source.A * Source.R)
Target.G = ((1 - Source.A) * BGColor.G) + (Source.A * Source.G)
Target.B = ((1 - Source.A) * BGColor.B) + (Source.A * Source.B)
(私は実際にそれを数回使用しました、そしてそれは私にとってうまくいきます。
以前の回答で述べたように、ここでの利点は、意図したRBGAカラーがie8以下でのように見えることです。