【问题标题】:Less not compiling parametric mixinsLess 不编译参数 mixins
【发布时间】: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?
  • .boxshadow mixin 下指定的属性被应用到.box 类,只是因为.boxshadow 已编译。它只是没有在您的输出 CSS 文件中列出,因为它(参数混合)不是有效的 CSS。参数 mixins 纯粹是预处理器的东西,可以帮助您避免重复等。
  • 我期待 @shadow 值在 .boxshadow 样式中传递并输出为它自己的类 .boxshadow{-webkit-box-shadow:2px 2px 5px rgba(0, 0, 0, 0.4); 等。我现在明白参数混合只是预处理器跨度>

标签: css less


【解决方案1】:

如果你想创建一个 mixin 但又不想输出那个 mixin,你可以在它后面加上括号。

here

【讨论】:

  • 我明白了,这在我关注的页面上没有解释。谢谢!
  • 我不明白,所有参数 mixin 都有括号,并且 OP 问题中的输出已经这样做了
猜你喜欢
  • 2020-08-07
  • 2016-07-23
  • 1970-01-01
  • 2012-03-25
  • 1970-01-01
  • 2013-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多