Path LESS阻止LESS添加相对url

Path LESS阻止LESS添加相对url,path,less,Path,Less,我正在MVC项目中使用dotLess,无法从导入的较少文件中添加url(“”)路径 我有以下代码: @myvar : '../../'; body { background-image:url('@{myvar}chosen-sprite.png'); } 它在main.less文件中生成以下css,这是正确的: body { background-image: url('../../chosen-sprite.png'); } 问题是,如果我将此代码移动到另一个文件夹中的

我正在MVC项目中使用dotLess,无法从导入的较少文件中添加url(“”)路径

我有以下代码:

@myvar : '../../';

body
{
    background-image:url('@{myvar}chosen-sprite.png');
}
它在main.less文件中生成以下css,这是正确的:

body {
    background-image: url('../../chosen-sprite.png');
}
问题是,如果我将此代码移动到另一个文件夹中的另一个.less文件,然后从主less文件导入该文件。例如:

@import 'myFolder/mySecondfile.less
现在生成的CSS如下所示:

body {
    background-image: url('myFolder/../../chosen-sprite.png');
}
有没有办法防止“myFolder”显示在那里?我知道我可以只写绝对路径,但这意味着每次访问站点根目录时都要更改地址(这在测试时经常发生)


谢谢

您应该尝试将变量更改为
@myVar:'./../../'

我不确定您是否得到了这个问题的答案,但您可以转义字符串

.body {
  background-image: ~"url('chosen-sprite.png')";
}

注意样式的整个url参数周围的波浪号和引号。如果您想了解更多信息,请查看和。

我尝试使用lesspp(less的php端口)复制此功能,它的工作方式与您所描述的工作方式相同。我没有像lesscss那样尝试过,php端口是错误的,但是值得向作者提出一个bug。我和Jan遇到了同样的问题,并成功地尝试了您的解决方案!很高兴听到它帮助了你@jhdrn