【发布时间】:2014-07-18 13:36:41
【问题描述】:
我正在尝试使用 less data-uri 函数
http://lesscss.org/functions/#misc-functions-data-uri
.test {background-image:data-uri("/images/ui-baseline.svg");}
我希望它能编译出 base64 背景图片
.test { background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAgNDAiID48cmVjdCB5PSIzOSIgZmlsbD0iI0ZGODBDQiIgd2lkdGg9IjUiIGhlaWdodD0iMSIvPjxwYXRoIGZpbGw9IiM4MERERkYiIGQ9Ik01LDM1SDB2LTFoNVYzNXogTTUsMzBIMHYtMWg1VjMweiBNNSwyNUgwdi0xaDVWMjV6IE01LDIwSDB2LTFoNVYyMHogTTUsMTVIMHYtMWg1VjE1eiBNNSwxMEgwVjloNVYxMHogTTUsNUgwVjRoNVY1eiIvPjwvc3ZnPg==); }
但是我似乎无法让它工作。 编译后的输出是:
.test {
background-image: url("/images/ui-baseline.svg");
}
我错过了什么吗? 该函数是否接受根相对路径?
我正在使用考拉,它使用更少的 1.7 更新
谢谢
【问题讨论】:
-
很可能问题出在路径中(
data-uri如果找不到指定的文件,则会退回到url)。相对路径将是"images/ui-baseline.svg"没有前导斜杠。 -
是相对于less文件还是我的css文件?
-
默认情况下它是相对于 master less 文件的目录(即你实际编译的那个)。 (另请注意,编译器不知道任何“根相对路径”,因为它不知道您的站点根在编译时的位置)。请参阅related options(但我不记得这些是否会影响
data-uri)。 -
我试过了,但还是不开心。在阅读了更多内容后,我认为 ieCompat 默认是打开的,我检查了 Koala 中的可用文档。它建议更改项目设置(ctrl + 单击/右键单击项目),但我不确定我当时在做什么