在sass中,我必须使用svg线性渐变来支持IE9渐变,它采用不带#的颜色十六进制字符串。 这些是多色渐变,即滤镜无法实现。
我已经定义了这样的颜色:
$ color:#ff0000;
但是对于要工作的东西,我需要有没有散列符号的颜色:仅限ff0000。
似乎无法用sass删除字符串中的字符?
这是否意味着我必须在没有#的情况下声明颜色,然后将其添加到每个mixin中,IE浏览器声明除外?这似乎是糟糕的方法,但无法找到更好的解决方案,有没有人遇到过类似的问题?
答案 0 :(得分: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>