Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么“a”-&引用;第一个Sass列表项中的字符是否重要?_Sass_Gulp Sass_Sass Lint - Fatal编程技术网

为什么“a”-&引用;第一个Sass列表项中的字符是否重要?

为什么“a”-&引用;第一个Sass列表项中的字符是否重要?,sass,gulp-sass,sass-lint,Sass,Gulp Sass,Sass Lint,在输出::选择样式的混音中: @mixin selection($color, $background) { $prefixes: '', '-moz-'; @each $prefix in $prefixes { &::#{$prefix}selection { color: $color; background: $background; } } } 一切按预期进行 如果我更改列表中项目的顺序: $prefixes: '-moz-

在输出<代码>::选择样式的混音中:

@mixin selection($color, $background) {
  $prefixes: '', '-moz-';
  @each $prefix in $prefixes {
    &::#{$prefix}selection {
      color: $color;
      background: $background;
    }
  }
}
一切按预期进行

如果我更改列表中项目的顺序:

$prefixes: '-moz-', '';
它只输出第二项的大小写

如果我将第一个列表项更改为不以“-”开头,那么它将输出两种情况


当“-moz-”是第一项时,为什么不起作用

我很惊讶它能编译,它应该做的是出错,直到您从这一行
&::#{$prefix}选择中删除符号,如果您这样做,它应该按照您的预期工作。@ChrisW。我试过不用符号,但结果是一样的。为什么会引起问题?它表示父对象,因此我可以将mixin包含在选择器中,选择状态将应用于该选择器,例如
p::selection{etc}
。实际上,既然您提到了它,我就将其放在codepen中,没有任何问题。在SassMister上测试代码时,更改项目顺序不会更改输出(除了更改编译类的顺序)。也许它来自于您的编译器配置?是的,它一定是我的配置中的某个东西,谢谢@Arkellys。虽然我不完全理解它是如何工作的。我更改了autoprefixer的
浏览器
选项,现在我得到了正确的输出,两个前缀都是
-moz-
。以前我有
'>0.5%,“ie 9”“,
,而它使用的是
”>0.5%,“last 1 version”,“Firefox ESR”,“