2013-07-16 98 views
0

在sass中,我必須使用svg線性漸變來支持IE9漸變,它使用不帶#的彩色十六進制字符串。 這些是多顏色漸變,即過濾器無法實現。在sass中爲svg線性漸變創建顏色值

我已經定義顏色是這樣的:

$ color:#ff0000;

但是,即使工作的東西,我需要有沒有散列符號的顏色:僅ff0000。

似乎不可能刪除字符串中的字符與sass?

這是否意味着我必須聲明不帶#的顏色,然後將其添加到每個混合中,IE IE svg聲明除外?這看起來很糟糕,但找不到更好的解決方案,有沒有人遇到過類似的問題?

回答

0

IE 9將顯示帶有#個顏色字符串的漸變,下面的示例在IE9中正確顯示漸變。如果沒有#號的顏色,SVG是無效的,儘管Webkit並沒有一次強制執行該顏色。

<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> 
+0

謝謝,雖然,我必須通過css添加屬性,並在那裏編碼xml。請參閱css下的http://www.colorzilla.com/gradient-editor/。屬性是網址(數據:圖像/ svg + xml; base64 ... – NenadP

+0

該網站正在創建base64編碼的網址與哈希。嘗試解碼答案,你會看到。 –

+0

羅伯特,但似乎我不能跳過編碼那裏。所以我的#必須是%23 ... – NenadP