2011-10-08 96 views
0

我试图与LessCss功能,但我得到一个错误:LessCss RGBA和@vars

.transparent-border (@alpha:.15, @color:'0,0,0', @type: solid, @size:1px) { 
    @val: @size @type rgba(@color, @alpha); 
    border: @val; 
} 

错误
错误评估函数rgba
@val:@size @type rgba(@color, @alpha);

我该如何解决?

回答

2

使用此代码来代替:

.transparent-border (@alpha:.15, @r:0, @g:0, @b:0, @type: solid, @size:1px) { 
    @val: @size @type rgba(@r, @g, @b, @alpha); 
    border: @val; 
} 

它不仅工作,但它也更有意义。在以前的尝试,你就必须通过一个字符串的颜色:

#myElement{ 
    /*Old, not-working implementation*/ 
    .transparent-border (0.15, "0, 0, 0", solid, 1px); 

    /*New, neat and working method */ 
    .transparent-border (0.15, 0, 0, 0, solid, 1px); 

    /*Since these are the default settings, it's equivalent to*/ 
    .transparent-border 
} 

解析的LESS:

#myElement { 
    border: 1px solid rgba(0,0,0, 0.15); 
}