8
我发现自己在我的LESS样式表中硬编码了一些图像宽度数字。在LESS中,是否可以从位图文件中获取图像尺寸?
LESS函数可以自动执行此操作吗?例如
@banner-width : image-width("image/banner.png");
我发现自己在我的LESS样式表中硬编码了一些图像宽度数字。在LESS中,是否可以从位图文件中获取图像尺寸?
LESS函数可以自动执行此操作吗?例如
@banner-width : image-width("image/banner.png");
如果您使用的是JavaScript的实施少(less.js),你可以使用反单引号之间的JavaScript插值和正常使用JavaScript功能 - 这样的事情:
@banner-width: ~`function(imguri){var img=new Image(); img.src = imguri; return img.width }('image/banner.png')`;
或者走得更远,制作可重复使用的mixin。
LESS:
.width(@img) {
@width: ~`function(imguri){var img=new Image(); img.src = imguri; return img.width }(@{img})`;
width: @width;
}
.height(@img) {
@height: ~`function(imguri){var img=new Image(); img.src = imguri; return img.height }(@{img})`;
height: @height;
}
.test{
@src: 'http://www.google.com/intl/en_ALL/images/logo.gif';
.width(@src);
.height(@src);
}
输出CSS:
.test {
width: 276;
height: 110;
}
这也正是它应该是什么这个标志http://www.google.com/intl/en_ALL/images/logo.gif
unit(@dimension,px)
到mixin。只需注意,这不适用于LESSC编译器。 '图像未定义' – RedactedProfile 2014-09-11 00:04:14
怀疑它,但那肯定会很有趣和有用。 – 2013-04-20 03:45:27
如果他们将这个添加到LESS而不是必须使用JavaScript,那将会非常好。 – 2016-10-12 02:56:53