首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sass -将十六进制转换为RGBa以获得背景不透明度

Sass -将十六进制转换为RGBa以获得背景不透明度
EN

Stack Overflow用户
提问于 2012-06-07 17:49:45
回答 5查看 177.8K关注 0票数 245

我有以下Sass混入,它是对RGBa示例的半完整修改

代码语言:javascript
运行
复制
@mixin background-opacity($color, $opacity: .3) {
    background: rgb(200, 54, 54); /* The Fallback */
    background: rgba(200, 54, 54, $opacity);
} 

我已经申请了$opacity ok,但现在我被$color部分卡住了。我将发送到混合的颜色将是十六进制,而不是RGB。

我的示例使用如下:

代码语言:javascript
运行
复制
element {
    @include background-opacity(#333, .5);
}

如何在此混合中使用十六进制值?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-06-08 05:00:25

rgba() function可以接受单个十六进制颜色以及十进制RGB值。例如,这将工作得很好:

代码语言:javascript
运行
复制
@mixin background-opacity($color, $opacity: 0.3) {
    background: $color; /* The Fallback */
    background: rgba($color, $opacity);
}

element {
     @include background-opacity(#333, 0.5);
}

但是,如果需要将十六进制颜色分解为RGB分量,可以使用red()green()blue()函数来实现:

代码语言:javascript
运行
复制
$red: red($color);
$green: green($color);
$blue: blue($color);

background: rgb($red, $green, $blue); /* same as using "background: $color" */
票数 467
EN

Stack Overflow用户

发布于 2015-08-31 17:26:33

有一个内置的混入:transparentize($color, $amount);

代码语言:javascript
运行
复制
background-color: transparentize(#F05353, .3);

数量应在0到1之间;

Official Sass Documentation (Module: Sass::Script::Functions)

票数 147
EN

Stack Overflow用户

发布于 2017-05-05 06:48:12

SASS有一个内置的rgba() function来计算值。

代码语言:javascript
运行
复制
rgba($color, $alpha)

例如。

代码语言:javascript
运行
复制
rgba(#00aaff, 0.5) => rgba(0, 170, 255, 0.5)

使用您自己的变量的示例:

代码语言:javascript
运行
复制
$my-color: #00aaff;
$my-opacity: 0.5;

.my-element {
  color: rgba($my-color, $my-opacity);
}

输出:

代码语言:javascript
运行
复制
.my-element {
  color: rgba(0, 170, 255, 0.5);
}
票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10929458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档