7

CSS3 仕様では、次のことのみを指定しています。

関数表記での HSLA カラー値の形式は、'hsla(' の後に色相 (度)、彩度と明度 (パーセンテージ)、および と ')' が続きます。

これらの値は整数ではなく浮動小数点数として解釈されることを理解する必要がありますか? 例:

hsla(200.2, 90.5%, 10.2%, .2)

これにより、HSL でカバーされる (RGB に比べて) 小さい範囲の色が劇的に拡大します。

Chrome では問題なくレンダリングされるようですが、単に INT 値として解析するだけなのか、それとも何なのかはわかりません。

4

3 に答える 3

4

HSL値は、システムに渡される前に16進RGB値に変換されます。「デバイスの色域」(表示できる色の範囲)の外側にある結果のRGB値を、表示可能な値にクリップするかどうかは、デバイス次第です。RGB値は16進数で示されます。これは、ブラウザがHSL値をRGB値に変換するために指定されたアルゴリズムです。丸め動作は標準で指定されていません。CまたはC++のいずれにも組み込みの丸め関数がないように見えるため、丸めを行う方法は複数あります。

HOW TO RETURN hsl.to.rgb(h, s, l): 
       SELECT: 
      l<=0.5: PUT l*(s+1) IN m2
      ELSE: PUT l+s-l*s IN m2
       PUT l*2-m2 IN m1
       PUT hue.to.rgb(m1, m2, h+1/3) IN r
       PUT hue.to.rgb(m1, m2, h    ) IN g
       PUT hue.to.rgb(m1, m2, h-1/3) IN b
       RETURN (r, g, b)

提案された推奨事項から

つまり、HSLAの小数値を使用してRGBで表現できるのとまったく同じ範囲の色を、HSLAで表現できる必要があります。

于 2011-04-20T02:21:52.697 に答える
1

私の知る限り、すべてのブラウザはそれらをINTにキャストします。多分。私が間違っていれば、とにかく違いを見分けることができません。それが本当に重要な場合は、スクリーンショットを撮ってフォトショップで開いたり、画面上のカラーメーターを使用したりしないでください. ここでは、テストせずに決定的な答えを出す人は誰もいません。テストには2分かかります...だから...

于 2011-04-19T22:34:13.437 に答える
0

正確にはわかりませんが、浮動小数点数をいくつか入れて、それが機能するかどうかを確認するのは理にかなっていますか? 小数で試すのに2秒かかり、..

于 2011-04-19T22:21:53.917 に答える