hash(#)符号在SASS中执行外部循环是什么?

Bri*_*nte 11 css sass

我刚刚遇到在sass循环外使用散列符号,我不确定它的用途是什么或原因是什么.

请问这两个例子有什么区别?它们都输出相同的css,但第一个不允许只有类元素.为什么在某些地方使用第一个例子?

#{h1, h2, h3, h4, h5}
{
  color: #000;
}

h1, h2, h3, h4, h5
{
  color: #000;
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*kov 19

#{}用于字符串插值:http://sass-lang.com/documentation/file.SASS_REFERENCE.html#interpolation_

但是有一个例外:当使用#{}插值时,引用的字符串是不加引号的.这使得更容易使用例如mixin中的选择器名称.例如.

因此,有时使用此技术允许在选择器中使用sass值.例如:

$gutter: 10;

.grid#{$gutter} {
    background: red;
}
Run Code Online (Sandbox Code Playgroud)

现在回答你的问题.我真的没有看到任何人在这个选择器中使用字符串插值的原因:

#{h1, h2, h3, h4, h5}
{
    color: #000;
}
Run Code Online (Sandbox Code Playgroud)

我最好的猜测是sass变量稍后将添加到该选择器,或者选择器将完全替换为变量.