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