我想做的是这样的
超文本标记语言
<div class="custom-color--ff0000">Red</div>
<div class="custom-color--00ff00">Green</div>
<div class="custom-color--0000ff">Blue</div>
Run Code Online (Sandbox Code Playgroud)
CSS
.custom-color--(hex) {
color: '#' + (hex);
}
Run Code Online (Sandbox Code Playgroud)
是否有可能做到这一点?我需要萨斯吗?
小智 5
您可以使用 mixin 在 SASS 中生成修饰符类:
@mixin add-color($argument) {
$string: unquote($argument);
&--#{$string} {
color: unquote('#' + $argument);
}
}
Run Code Online (Sandbox Code Playgroud)
例子:
.custom-color {
@include add-color(404145);
@include add-color(ff0000);
}
Run Code Online (Sandbox Code Playgroud)
CSS 输出:
.custom-color--404145 {
color: #404145;
}
.custom-color--ff0000 {
color: #ff0000;
}
Run Code Online (Sandbox Code Playgroud)
在这里阅读更多相关内容: Generate Your All Utility Classes with Sass Maps