【问题标题】:Sass injecting commas for mixins with multiple propertiesSass 为具有多个属性的 mixin 注入逗号
【发布时间】:2014-07-12 19:23:18
【问题描述】:

当使用具有多个值的 mixin 时,我的 Sass 版本似乎无法正确编译。当我使用类似下面的代码时:

@mixin box-shadow($top, $left, $blur, $color, $inset: false) {
  @if $inset {
    -webkit-box-shadow:inset $top $left $blur $color;
    -moz-box-shadow:inset $top $left $blur $color;
    box-shadow:inset $top $left $blur $color;
  } @else {
    -webkit-box-shadow: $top $left $blur $color;
    -moz-box-shadow: $top $left $blur $color;
    box-shadow: $top $left $blur $color;
  }
}

.drop-shadow{
    @include box-shadow(10px, 5px, 5px, #383838);
}

我得到了结果:

.drop-shadow {
  box-shadow: 10px, 5px, 5px, #383838;
}

Chrome 然后继续拒绝接受该属性为有效,因为属性值之间有逗号。

有没有人见过这样的事情或知道如何解决它我找不到任何其他人谈论这类问题的文章。

我正在使用:

  • 指南针 0.12.6 (Alnilam)
  • grunt-cli v0.1.13
  • 咕噜 v0.4.5

我尝试在 codePen 上重新创建问题,但它似乎工作正常。 http://codepen.io/jpeak/pen/AbrJa

【问题讨论】:

标签: sass gruntjs


【解决方案1】:

我找到了答案,似乎出于某种原因,指南针将每个属性后的逗号视为属性的一部分并转置它们。

所以

@include box-shadow(10px, 5px, 5px, #383838);

=

box-shadow: 10px, 5px, 5px, #383838;

@include box-shadow(10px 5px 5px #383838);

=

box-shadow: 10px 5px 5px #383838;

不确定是否有人可以解释为什么会发生这种情况。

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 1970-01-01
    • 2021-11-21
    • 2017-01-21
    • 1970-01-01
    • 2016-01-26
    • 2013-08-16
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多