[email protected]に更新された後、レンダリングで不透明度を色付けします。
背景色:#55555599; ->#55555599 99; (有効ではありません)
背景色:#5559; ->#5559 9; (有効ではありません)
以前は、Lessは16進RGBA表記をサポートしていましたか?
@rjgotten直接ではありません。 ただし、認識されない値をスキップ(保持)する必要があります。 それはおそらく回帰です。
1つ:互換性のないブラウザの場合、Lessは#RRGGBBAA
を変換する必要がありますか? 現在、IE / Edgeはサポートされておらず、他のいくつかのブラウザーもサポートされていません。 Microsoftは、近いうちに実装することを示唆していません。 しかし、私がそれを実装した理由は、色解析機能の解析に間違いなく問題があったためです。 文字列全体を取得して色を保存していましたが、色が4文字または8文字の場合はパーサーを進めなかったため、最後の桁が繰り返されていました。
編集:私がしたことは、作者によるrgba(#55555599)
介したrgba()
形式への変換を許可することrgba(#55555599)
。
これは私がこれに関して持っている考えのリストです。
argb()
出力に意味機能#AARRGGBB
。color()
関数もあります。 #AARRGGBB
、 #ARGB
サポートしていますか?color: #AA334455;
とcolor: #A345;
は、その形式を_理解する_ブラウザが多くない場合でも、有効な(または許容できる)CSSです。rbga()
キャスティングは滑りやすい坂道なのかしら。 rgb()
、 hsl()
、およびhsla()
もすべてCSS関数です。rgba()
は非常に理にかなっています。tl; dr:私の全体的な第一印象は、 color()
関数が8桁と4桁のARGB文字列をサポートするようにする必要があるということだと思います。とにかくそれが目的のようです。
Less関数をCSS関数で圧縮することは危険だと「感じます」が、理由はわかりません。
その船は出航した。 rgba()
は、Less関数として長い間存在してきました。 しかし、主な理由は、 lighten()
ようなものに色を渡すことができるようにするためです。 つまり、 rgba()
は内部的に色を返す必要があります。 したがって、実際にLessのカラー関数を使用する場合は、 rgba()
_ have_のような関数をLess関数にする必要があります。 (例:lighten(rgba(50,50,50,0.5)、50%))それ以外の場合は、不明な関数呼び出しになります。 その色を操作するには、実際の色が何であるかを知る必要があります。
rbga()キャスティングは滑りやすい坂道なのだろうか。 rgb()、hsl()、およびhsla()もすべてCSS関数です。
そうかもね。 しかし、キャスティングはそれについて考える間違った方法です。 また、次のフォームも有効になります: rgba(#777777, 0.5)
、これはブラウザで許可されているか、許可される予定です。 それはhsla()
に拡張されませんが、それは本当ですが、内部実装ははるかに難しく、機能するメソッドがある場合は必要ありません。
color()関数もあります。 #AARRGGBB、#ARGBをサポートしていますか?
いいえ、これを指摘していただきありがとうございます。 追加できます。 なぜその関数が存在するのか混乱していますが?
また、次の形式も有効になります:rgba(#777777、0.5)。これは、ブラウザーで許可されているか、許可される予定です。
言い換えると、このフォームはCSSで有効な色です: rgba(<Color> [, opacity])
。 したがって、これを許可しない理由はありません。
我々はすでに持っている_DO_
argb()
出力に意味機能#AARRGGBB
。
ARGBの順序は、InternetExplorerの従来のDirectShowフィルターに特に使用されます。
CSSの8桁または4桁の16進構文は、afaikRGBAの順序です。
また、両方をサポートすると、リテラル#000000FF
が完全に透明な青(ARGB)を表すのか、完全に不透明な黒(RGBA)を表すのかを直接知ることができなくなります。
私のアドバイス:ARGBカラーサポートを削除します。 長い間使用されていない石器時代のIEブラウザにのみ必要になります。
私のアドバイス:ARGBカラーサポートを削除します。 長い間使用されていない石器時代のIEブラウザにのみ必要になります。
IE11未満のサポートはテストしていないため、これは良い考えです。
@rjgotten非推奨となる他の関数候補(または機能)はありますか? なぜ誰かがLessで_string_として色を記述し、それをcolor()
関数を使用して色に変換する必要があるのか私はまだ混乱しています。 4年前に追加されたようです。
なぜ誰かがLessで色を文字列として記述し、それをcolor()関数を使用して色に変換する必要があるのか私はまだ混乱しています。
私が想像できる唯一のことは、自動抽出シナリオです。
たとえば、SVG背景画像を導入し、他のルールでの色の使用法などに一致するようにそれらから色の定義を抽出する複雑なプラグイン。
非常に深刻なエッジケースだと思います。
@rjgotten残念ながら、それがどこから来たのかを説明する問題の履歴を見つけることができませんでした。
#RRGGBBAA
を認識するようにcolor()
関数を更新し、同じ色空間に色を保持するためにいくつかの更新を行いました。 以前は、ブラウザの互換性のために、すべてが単純な16進数(alpha = 1の場合)またはrgba()
いずれかに変換されていました。 これで、使用されている色の値を保持することで、Lessの一貫性を保つことができます。 16進色とキーワードはすでにそのまま出力されていますが、私のPRでは、Lessはhsl()
とhsla()
そのまま出力し(値をクランプする場合を除く)、色の後の色空間も保持しますdarken()
やspin()
ような操作。
追いついて、私は乗っています。 argb()
関数は、古い形式の必要性に答えると思います。 これは良い動きです。
最も参考になるコメント
#RRGGBBAA
を認識するようにcolor()
関数を更新し、同じ色空間に色を保持するためにいくつかの更新を行いました。 以前は、ブラウザの互換性のために、すべてが単純な16進数(alpha = 1の場合)またはrgba()
いずれかに変換されていました。 これで、使用されている色の値を保持することで、Lessの一貫性を保つことができます。 16進色とキーワードはすでにそのまま出力されていますが、私のPRでは、Lessはhsl()
とhsla()
そのまま出力し(値をクランプする場合を除く)、色の後の色空間も保持しますdarken()
やspin()
ような操作。