2

为类似的属性制作 mixinborder-radius很容易:

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

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

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

我想我必须创建一个名为 mixinbackground-image并检查第一个参数是否为linear-gradient. Stylus 能做到如此高级的逻辑吗?如果是这样,我怎样才能完成我想做的事情?

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

4

1 回答 1

1

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

于 2012-10-29T20:49:11.290 回答