1

是否可以在 scss 中呈现任意字符串?您可以呈现属性值:

/*source scss*/
$some-color: #123456;
a {color: $some-color;}

/*compiled css*/
a {color: #123456;}

#{}或使用插值语法的选择器/属性名称:

/*source scss*/
$some-class: 'my-awesome-link';
$some-attribute: border;
a.#{$some-class} {#{$some-attribute}-color: #000;}

/*compiled css*/
a.my-awesome-link {border-color: #000;}

但我不能使用以下内容:

/*source scss*/
$some-css: 'text-decoration:none;color:#000';
a {$some-css}  //breaks
a {#{$some-css}}  //breaks

这似乎是香草字符串处理和允许的极其微不足道的事情。我是否忽略了不同的语法,还是在当前的 scss 中不可能?

4

1 回答 1

4

最接近你想要的东西是这样的:

@mixin property-list($list) {
    @each $i in $list {
        #{nth($i, 1)}: nth($i, 2);
    }
}

$links: color red, border (1px solid);

a {
    @include property-list($links);
}

编译为:

a {
  color: red;
  border: 1px solid;
}
于 2012-12-12T13:07:47.507 回答