Deprecated. LESS supports property interpolation since version 1.6.0.
Mixin that adds some variable property support to LESS.
Include this stylesheet to your project:
@import url('properties.less');
Now you can use variable properties:
@property: border-radius;
.class-1 {
.property(@property, 10px);
}
.class-2 {
.property(@property, ~'10px 20px');
}
Which will output in:
.class-1 {
-less-property: property;
border-radius: 10px;
}
.class-2 {
-less-property: property;
border-radius: 10px 20px;
}
You can also mass create properties with prefixes:
.class {
.property(border-radius, 10px, 'moz webkit o');
}
Which will output in:
.class {
-less-property: property;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
}
If you want to generate only prefixed properties, pass false
as a fourth
argument:
.class {
.property(border-radius, 10px, 'moz webkit o', false);
}
Which will output in:
.class {
-less-property: property;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
}
The -less-property: property
junk line of code is a necessary sacrifice due to
the hack nature of this mixin. However, all browsers should normally skip this
line so it's just a matter of purity of code.
The mixin properly works with values that have spaces in them (e. g.
1px solid red
) only when those are passed as an escaped string (e. g.
~'1px solid red'
).
Licensed under WTFPL. See http://sam.zoy.org/wtfpl/COPYING for more details.