【问题标题】:Can dotless query string override existing variables?无点查询字符串可以覆盖现有变量吗?
【发布时间】:2014-11-15 09:22:49
【问题描述】:

在 ASP.net 内部,我提供了一个带有 dotless 的动态样式表。我正在使用查询字符串来传递变量。

<link rel="stylesheet" href="~/Content/style.less?&color1={{var1}}&color2={{var2}}>

变量已经在 LESS 中声明(color1:red,color2:blue),如果它们在查询字符串中传递,我想覆盖这些值。这现在不起作用,因为 dotless 实际上 prepends 来自查询字符串的变量,而 less 使用 last 声明的变量。

我看到两个选项,但我不知道如何实现这些:

  1. 附加变量而不是预先添加变量。这就是前置的无点:https://github.com/dotless/dotless/blob/master/src/dotless.Core/Engine/ParameterDecorator.cs
  2. 将较少的变量 color1 和 color2 设置为可选 - 仅当它们之前未设置时。比如:

    color1: color1 || red;
    

    LESS (/dotless) 中是否存在类似的内容?

【问题讨论】:

    标签: asp.net less dotless


    【解决方案1】:

    Less 没有为变量设置默认值的选项,请参阅http://lesscss.org/features/#variables-feature-default-variables,因为您不需要它们,您已经提到了最后一个声明获胜(并且 Less 使用延迟加载)。

    但是在https://github.com/dotless/dotless/wiki/Parameters我发现:

    -v --disable-variable-redefines - 使变量的行为更像 less.js,所以使用最后一个变量定义

    将此选项设置为false 应该可以解决您的问题:

    <dotless disableVariableRedefines="false" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多