【问题标题】:Is it fine to define a variable after it is used in Less and not before?在 Less 中使用变量之后而不是之前定义变量是否可以?
【发布时间】:2016-01-28 15:52:46
【问题描述】:

所以,问题实际上是它是否可以使用:

.mytest {
  border:1px solid @black;
}
@black: #000;

而不是

@black: #000;
.mytest {
  border:1px solid @black;
}

当我这样做时,我没有看到任何警告,它工作正常 - 结果是

.mytest {
  border: 1px solid #000;
}

两种情况。

Demo

【问题讨论】:

  • 查看链接集合there 了解有关此“惰性评估”的更详细信息。

标签: html css compilation less compiler-warnings


【解决方案1】:

是的,以这种方式使用它绝对没问题,因为 Less 对变量进行了lazy loading,因此在使用变量之前不必声明变量。由于延迟加载,Less 编译器不会针对此类情况抛出任何错误或警告。

根据Less website

变量是延迟加载的,在使用前不必声明。

事实上,我什至会继续说,在最后声明变量更有益,因为所有变量都保存在一个地方,它不会为某些杂散声明意外覆盖预期或预期设置留下空间。

【讨论】:

    【解决方案2】:

    是的,正如哈利所说,你可以。我建议您创建一个文件来存储所有变量定义并导入它。这样,您可以拥有不同的主题(文件)并配置您的项目,只需替换一个文件

    【讨论】:

    • 以防万一这是我的反对票。将所有变量存储在单独的文件中是非常有问题的建议。在现代的 Less 中,有很多不同的方法来拥有不同的主题 w/o 甚至“替换一个文件”(这并不意味着基于文件的主题方法是不好的,但是故事超出了问题的范围,因此投反对票)。
    • 没问题,它只是一个意见:)。例如,Bootstrap 框架分发的变量文件较少,对我来说,只需替换文件 (bootswatch.com) 就可以更改项目的方面。它还允许您将文件发送给您的团队图形设计师。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-15
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多