我可以将变量放在手写笔的文字css中吗?

时间:2012-02-21 12:02:22

标签: css node.js stylus

我在手写笔中有一个看起来像这样的功能

// Shortcut for top-down gradient background color
td_gradient(color1, color2)
    background-color (color1 + (color2 - color1) / 2)
    background -webkit-gradient(linear, 0% 0%, 0% 100%, from(color1), to(color2))
    background -webkit-linear-gradient(top, color1, color2)
    background -moz-linear-gradient(top, color1, color2)
    background -ms-linear-gradient(top, color1, color2)
    background -o-linear-gradient(top, color1, color2)
    @css
    {
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=color1, endColorstr=color2);
    }

我必须将Internet Explorer渐变样式包装在文字css范围@css内,否则会导致手写笔崩溃。可能是太多冒号或其他东西。在任何情况下,变量color1color2都是在css范围内完全取消的,这会破坏样式。

任何方式我都可以让css范围来解析变量?或者有没有办法在不使用文字css范围的情况下在手写笔中获得滤镜样式?

1 个答案:

答案 0 :(得分:6)

这是一种方式:

filter s('progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorstr=%s, EndColorstr=%s)', color1, color2))

但我恳请你查看nib,也请TJ。特别是,他构建了一个mixin,可以在png中自动生成渐变图像,base64将其编码到样式表中。唯一需要注意的是,您需要指定高度(或宽度,水平渐变),但对于您的td:s应该没问题。

更新:更干净一点:

filter 'progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorstr=%s, EndColorstr=%s)' % (color1 color2)
相关问题