0

sass では、svg 線形グラデーションを使用して IE9 グラデーションをサポートする必要があります。これらは、フィルターなどでは実現できない多色グラデーションです。

次のように色を定義しました。

$color: #ff0000;

しかし、つまり、機能させるには、ハッシュ記号のない色が必要です: ff0000 のみ。

sass で文字列内の文字を削除することはできないようですか?

# なしで色を宣言し、IE svg 宣言を除くすべての mixin に追加する必要があるということですか? これは悪いアプローチのようですが、より良い解決策を見つけることができません。誰かが同様の問題に遭遇しましたか?

4

1 に答える 1

0

IE 9 では # 色の文字列でグラデーションが表示されます。以下の例では、IE9 でグラデーションが正しく表示されます。Webkit は一度にそれを強制しませんでしたが、# のない色を持つことは有効な SVG ではありません。

<svg width="800" height="600" xmlns="http://www.w3.org/2000/svg">
    <defs>
        <linearGradient id="gradient" x1="0" y1="1" x2="0" y2="0">
            <stop offset="0%" stop-color="#ff0000" stop-opacity="1"/>
            <stop offset="100%" stop-color="#0000ff" stop-opacity="0"/>
        </linearGradient>
    </defs>

    <circle r="120" cx="120" cy="120" fill="url(#gradient)"/>
</svg>
于 2013-07-16T17:19:43.393 に答える