ちょうど、下記の2つのmixin を使おうとしてハマった。
ひとつは、擬似要素のボーダーつかって小さな矢印を作るもので、後者はliner-gradient
が使えない、IE9のために、SVGをData
URI エンコードで出したもの。
Compass でコンパイルすると下のようになる。
長いので、ハマったところだけ説明すると、後者のData
URIを用いたSVGの色を入れる所が、#FFF
とかが来ちゃうと、white
とか色名に変換してしまうので、うまくいかない。
それで、Sass/Compassでコンパイルするとカラーコードが色名になってしまう件を参考に
confg.rb
を編集して色名に変換するのをやめるんですが、そうするとこんどは、矢印を作るmixinの方で使用しているtransparent
がrgba(0,0,0,0)
に変換されてしまって、こっちがIE8以下で認識されなくなる。
いろいろ情報を集めていると、sass 3.3.x
以降は、この現象が起きないということで、sass と compass
をアップデートして解決。ついでに、str-slice()
関数を使って、dataURI
の中にも、#
付きの色名を放り込めるようになってホクホク。
参考