如何在 scss.erb 文件中的 '&' 之后 'interpolate' 以 ':' 开头的字符串变量
How to 'interpolate' string variable beginning with ':' after '&' in scss.erb file
在 scss.erb 文件中,我试图将一个变量添加到允许修改子样式上下文的混合中。虽然我使用的语法直接在 scss 中工作,但似乎 ruby 正在干扰,因为 &:
具有特定含义。例如,在 scss.erb 文件中:
@mixin test($pseudo: ":before") {
color: #F00;
&#{$pseudo} { content: 'x'; }
}
稍后,在正常的 scss 中:
.my-element {
// after pseudo element
@include test($pseudo: ":after");
}
.my-element {
// self
@include test($pseudo: "");
}
结果出错Invalid CSS after " &{$pseudo": expected ":", was "} { conte...
想法?我假设我可以使用转义序列,但 Ruby 不是我的母语。
您可以像这样将其包装在 ERB 标签中:
...
<%= "&" %>#{$pseudo} { content: 'x'; }
...
有点乱,但这样它就被认为是一个字符串。
在 scss.erb 文件中,我试图将一个变量添加到允许修改子样式上下文的混合中。虽然我使用的语法直接在 scss 中工作,但似乎 ruby 正在干扰,因为 &:
具有特定含义。例如,在 scss.erb 文件中:
@mixin test($pseudo: ":before") {
color: #F00;
&#{$pseudo} { content: 'x'; }
}
稍后,在正常的 scss 中:
.my-element {
// after pseudo element
@include test($pseudo: ":after");
}
.my-element {
// self
@include test($pseudo: "");
}
结果出错Invalid CSS after " &{$pseudo": expected ":", was "} { conte...
想法?我假设我可以使用转义序列,但 Ruby 不是我的母语。
您可以像这样将其包装在 ERB 标签中:
...
<%= "&" %>#{$pseudo} { content: 'x'; }
...
有点乱,但这样它就被认为是一个字符串。