【问题标题】:LESS Prevent less from adding relative urlLESS 防止 less 添加相对 url
【发布时间】:2012-02-16 00:13:17
【问题描述】:

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

我有以下更少的代码:

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

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

在主 .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”在那里显示吗?我知道我可以只写绝对路径,但这意味着每次站点根目录时都要更改地址(这在测试时经常发生)。

谢谢

【问题讨论】:

  • 我尝试使用 lessphp(less 的 php 端口)复制它,它的工作方式与您描述的您希望它工作的方式相同。我还没有尝试过lesscss实际这样做的方式,这是php端口有问题的,但它可能值得向作者提出作为一个错误。

标签: path less


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我不确定你是否得到了答案,但你可以转义字符串。

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

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

    【讨论】:

    • 我遇到了与 Jan 相同的问题,并成功尝试了您的解决方案!
    • 很高兴听到它帮助了你@jhdrn
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2015-12-31
    • 2014-07-27
    • 2013-12-03
    • 1970-01-01
    • 2012-09-30
    相关资源
    最近更新 更多