私はこのようなCSSルールを持っている私はSASS RGBオフにすることができます>色の名前
background: white url("/assets/img/file.png");
それを変換することを防止する方法はありますそんな?私のページにはRGB値を探すJSがあり、ハッキーな機能ではこれらの文字列をRGBに変換する必要はありません。
私はこのようなCSSルールを持っている私はSASS RGBオフにすることができます>色の名前
background: white url("/assets/img/file.png");
それを変換することを防止する方法はありますそんな?私のページにはRGB値を探すJSがあり、ハッキーな機能ではこれらの文字列をRGBに変換する必要はありません。
デフォルトでは、Sassに#{}
または変数を使用して強制的に補間しない限り、Sassはリテラルカラー値を16進値から変換しません。
補間を使用すると、関心のある値の「to_sass」バージョンが返されます。たとえば、#{ #fff }
は「白」に補間されます。これは変数置換時にも起こります。変数として使用するとカラーリテラルがColorオブジェクトに変換され、次にスタイルシートに "to_sass"されます。
さらに、スタイルオプションcompressed
を指定すると、バイト長のバージョンが少なくなります(#f00
の代わりにred
)。 white
は5文字で、#fff
は4であるため、ルールは#fff
に変更されます。
変数を使用しているときに逆HTML4色の名前変換をオフにする方法はありません。回避策として、文字列としてカラー変数を宣言してから、unquote()
関数でスタイルを使用することができます。
$color: '#fff';
.white { color: unquote($color) }
偉大な答えですが、それは私のために働くようには見えませんでした(* Sass 3.2.3 *)ので、おそらく何かが変わったでしょう。 – Dan
コンパイルモードに関係なく、3.2.3で動作します。 '$ color: '#FFF'; .selector {背景:unquote($ color)url( '/ img/file.png'); } ' –
サスは私のためにこれをしません..あなたは確かにお尻が問題ですか? – Ben
私たちがバックグラウンドを実行していれば、これは起こりません:#FFF、画像なし。それを試しましたか?どの出力様式を使用していますか? –
ms-filterは短い16進数を認識せず、 'rake assets:precompile'はいつも私に短い16進数を与えます。人々が知らない 'ie-hex-str'関数があります。 Google。 –