少加防止添加相对网址

wil*_*lvv 8 path less

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

我有以下少量代码:

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

body
{
    background-image:url('@{myvar}chosen-sprite.png');
}
Run Code Online (Sandbox Code Playgroud)

在主.less文件中生成以下css,这是正确的:

body {
    background-image: url('../../chosen-sprite.png');
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果我将此代码移动到另一个文件夹上的第二个.less文件,然后从less less文件中导入该文件.例如:

@import 'myFolder/mySecondfile.less
Run Code Online (Sandbox Code Playgroud)

现在生成的CSS看起来像这样:

body {
    background-image: url('myFolder/../../chosen-sprite.png');
}
Run Code Online (Sandbox Code Playgroud)

有没有办法阻止"myFolder"显示在那里?我知道我可以写出绝对路径,但这意味着每次在站点的根目录(通常在测试时发生)更改地址.

谢谢

小智 9

我不确定你是否得到了答案,但你可以逃脱这个字符串.

.body {
  background-image: ~"url('chosen-sprite.png')";
}
Run Code Online (Sandbox Code Playgroud)

注意围绕样式的整个url参数的波浪号和引号.如果您想了解更多相关信息,请查看String InterpolationEscaping Strings.

  • 我遇到了与Jan相同的问题并成功尝试了您的解决方案! (2认同)

aci*_*ost 0

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