当mixin函数是一个参数时,如何在Stylus中进行透明的供应商混合?

时间:2012-10-29 16:23:43

标签: css node.js stylus

border-radius等属性制作mixin非常简单:

vendor(name, args)
    -webkit-{name} args
    -moz-{name} args
    -ie-{name} args
    -o-{name} args
    {name} args

border-radius()
    vendor('border-radius', arguments)

#test
    border-radius 5px

但是,如果我想为linear-gradient创建一个透明的供应商mixin怎么办?与border-radius不同,linear-gradient不是属性,而是参数,例如

#test
    background-image linear-gradient(top, #f00 0%, #00f 100%)

我想我必须创建一个名为background-image的mixin并检查第一个参数是否为linear-gradient。 Stylus能够具备如此先进的逻辑吗?如果是这样,我怎样才能完成我想要做的事情?

感谢您对此事的任何帮助。

1 个答案:

答案 0 :(得分:1)

你熟悉nib项目吗? http://visionmedia.github.com/nib/它拥有手写笔所需的所有混音。即使你最终没有使用笔尖,你仍然可以查看他们的代码(线性渐变https://github.com/visionmedia/nib/blob/master/lib/nib/gradients.styl#L106