【发布时间】:2016-11-21 22:49:48
【问题描述】:
我对 Less 还很陌生,我只是在运行一些简单的概念,发现当我使用参数 mixin 时,它不会编译为 CSS 文件。
例如,这是我的 style.less 文件:
@color: #000;
.boxshadow (@shadow:2px 2px 5px rgba(0,0,0,.4)) {
-webkit-box-shadow: @shadow;
-moz-box-shadow: @shadow;
box-shadow: @shadow;
}
.box{
.boxshadow;
color: @color;
}
这是我编译的 style.css 文件:
.box {
-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
-moz-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
color: #000;
}
它识别 .boxshadow 上的值并将它们传递给 .box,但它没有编译 .boxshadow,因为它是自己的 CSS 类。
我用命令行和一个 Sublime Text 3 包编译,都输出相同的 css。
我错过了一些简单的东西吗?
提前致谢!
【问题讨论】:
-
代码按预期编译,你想要什么css?
-
.boxshadowmixin 下指定的属性被应用到.box类,只是因为.boxshadow已编译。它只是没有在您的输出 CSS 文件中列出,因为它(参数混合)不是有效的 CSS。参数 mixins 纯粹是预处理器的东西,可以帮助您避免重复等。 -
我期待
@shadow值在.boxshadow样式中传递并输出为它自己的类.boxshadow{-webkit-box-shadow:2px 2px 5px rgba(0, 0, 0, 0.4);等。我现在明白参数混合只是预处理器跨度>