gpt4 book ai didi

sass - Mixin,函数和变量名称的Sass插值

转载 作者:行者123 更新时间:2023-12-04 17:23:22 25 4
gpt4 key购买 nike

我试图遍历Sass中的值列表,并使用当前键的插值来动态输出分别利用@include和@extend的类名。

这是一支显示问题的笔,经过简化。 http://codepen.io/ghepting/pen/vBmLy

正如您在标记中看到的那样,我尝试在插值字符串的内部和外部都包含“_”。对于Sass支持插值的这种限制,我是否缺少一些解决方法?

(注意:OP的笔不见了。这不是笔中找到的原始代码,而是问题的大致近似值)

$error-light: red;
$error-dark: darken(red, 10%);

$success-light: green;
$success-dark: darken(green, 10%);

$dialogs: error, success;

@each $d in $dialogs {
.#{$d} {
background: $#{$d}-light;
}
}

最佳答案

目前,插值不适用于mixin或变量。您将不得不想出一种不同的方法来实现自己的目标。

从Sass 3.3开始,您可以为此目的将映射用于变量:

$dialogs:
( error:
( light: red
, dark: darken(red, 10%)
)
, success:
( light: green
, dark: darken(green, 10%)
)
);

@each $name, $colors in $dialogs {
.#{$name} {
color: map-get($colors, dark);
}
}

对于功能:
@function green() {
@return lighten(green, 10%);
}

@function red() {
@return lighten(red, 10%);
}

@mixin my-bg($function-name) {
background: call($function-name);
}

.foo {
@include my-bg('red');
}

关于sass - Mixin,函数和变量名称的Sass插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16152547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com