Sass-将十六进制转换为RGBa以实现背景不透明度

我有以下Sass mixin,它是对一个RGBa示例的半完整修改:

@mixin背景不透明度($color,$opacity:.3){
背景:rgb(200,54,54);/*后备方案*/
背景:rgba(200,54,54,$不透明);
} 

我已经应用了$opacityok,但是现在我被$color部分卡住了。
我将发送到混音器的颜色将是十六进制而不是RGB

我的示例使用如下:

元素{
@包括背景不透明度(#333,.5);
}

如何在此mixin中使用十六进制值

函数可以接受单个十六进制颜色以及十进制RGB值。例如,这将很好地工作:

@mixin背景不透明度($color,$opacity:0.3){
背景:$color;/*后备方案*/
背景:rgba($color,$opacity);
}
元素{
@包括背景不透明度(#333,0.5);
}

但是,如果需要将十六进制颜色分解为RGB组件,可以使用red()、green()和blue()函数:

$red:red($color);
$green:绿色($color);
$blue:blue($color);
背景:rgb($red,$green,$blue);/*与使用“背景:$color”相同*/

发表评论