Css SASS是一个简单的函数,用于将十六进制颜色转换为RGB作为字符串,而不使用alpha

Css SASS是一个简单的函数,用于将十六进制颜色转换为RGB作为字符串,而不使用alpha,css,sass,colors,Css,Sass,Colors,我正在寻找SASS中的简单函数,它可以简单地将十六进制颜色转换为RGB字符串。 我在谷歌上搜索,但没有幸运。可能是因为SASS中没有任何本机函数?当然,有rgba()函数,但我不想rgba(…)一块。只需输入RGB字符串 例子 输入 输出 您不能使用Sass来实现这一点,但可以使用JavaScript来获得所需的结果。您可以这样编写函数: @use "sass:color"; @function hex2rgb($hex) { @return red($hex), gre

我正在寻找SASS中的简单函数,它可以简单地将十六进制颜色转换为RGB字符串。 我在谷歌上搜索,但没有幸运。可能是因为SASS中没有任何本机函数?当然,有
rgba()
函数,但我不想
rgba(
一块。只需输入RGB字符串

例子 输入 输出
您不能使用Sass来实现这一点,但可以使用JavaScript来获得所需的结果。

您可以这样编写函数:

@use "sass:color";
@function hex2rgb($hex) {
  @return red($hex), green($hex), blue($hex);
}
但问题是sass无法解析html自定义属性的变量。 所以这行代码--color body bg light:$color bg light不起作用

最后,您将获得以下信息:

:root {
  --color-body-bg-light: $color-bg-light;
  --color-body-bg-light-rgb: $color-bg-light-rgb;
}
@use "sass:color";
@function hex2rgb($hex) {
  @return red($hex), green($hex), blue($hex);
}
:root {
  --color-body-bg-light: $color-bg-light;
  --color-body-bg-light-rgb: $color-bg-light-rgb;
}