在 SCSS 中使用 HSLA 中的 CSS 变量

sam*_*pls 5 hsl sass css-variables

所以我一直在尝试在HSLA中使用CSS变量。我需要保持相同的颜色,但只需更改不透明度。

<div>
// content here
</div>
Run Code Online (Sandbox Code Playgroud)

社会保障体系

:root {
  --color: 332, 61%, 78%;
}

div {
  background: hsla(var(--color), 0.5);
}
Run Code Online (Sandbox Code Playgroud)

https://codepen.io/sammiepls/pen/zLpvXY

所以我想我可以将 hsl 颜色保留在那里,并通过使用变量来更改悬停时的不透明度或诸如此类的东西。如果我只使用纯 CSS,它就可以工作。但我使用的是 SCSS,它导致它失败,因为 SASS 有它自己的 HSL 函数,需要三个值;我得到的错误基本上是没有足够的参数。有人找到解决办法吗?我尝试在整个函数周围使用字符串插值 #{} 但它不起作用。

小智 3

嘿,我认为你想要在 SCSS 中做的是将整个函数视为一个字符串。这应该可以background: #{hsla(var(--color), 0.5)}在 CSS 上输出为background: hsla(var(--color), 0.5);