为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能够具备如此先进的逻辑吗?如果是这样,我怎样才能完成我想要做的事情?
感谢您对此事的任何帮助。
答案 0 :(得分:1)
你熟悉nib项目吗? http://visionmedia.github.com/nib/它拥有手写笔所需的所有混音。即使你最终没有使用笔尖,你仍然可以查看他们的代码(线性渐变https://github.com/visionmedia/nib/blob/master/lib/nib/gradients.styl#L106)