如何将LESS mixin插入JavaScript代码中
有没有选择在JS代码中插入一些LESS mixin?
我有这个border-radius mixin:
.border_radius(@radius: 5px) { border-radius: @radius; -moz-border-radius: @radius; -webkit-border-radius: @radius; }
那么有没有可能将这个mixin添加到jQuery代码中?
var less = require('less'); $('.circle').css({ width: width, height: width, less.border_radius(10px); });
您可以定义所需的LESS mixin的JavaScript等价物:
HTML
CSS
.circle { border: 1px solid #FF0000; }
jQuery的
function border_radius(radius) { radius = radius || '5px'; return { 'border-radius': radius, '-moz-border-radius': radius, '-webkit-border-radius': radius } } var styles = border_radius(), width = '20px'; styles.width = width; styles.height = width; $('.circle').css(styles);
的jsfiddle
这不完全是你想要的,但也许这个技巧会有所帮助。 我没有看到动态使用less函数的其他方法。
var parser = new less.Parser({}); var lessCode = ''; function roundedCorners(_class, radius) { lessCode = '/* import dependent syles */' + '@import "PATH-TO-YOUR-MAIN-LESS-FILE";' + '.' + _class + ' {' + '.rounded-corners(' + radius + 'px);' + '}'; parser.parse(lessCode, function (error, root) { $('head').append($( '' )); }); } //try... roundedCorners('circle', 10);