【发布时间】:2019-02-01 21:40:34
【问题描述】:
正如标题所说,我想以某种方式为 css 变量中定义的十六进制颜色添加透明度。我在其他帖子中看到了使用 rgb 的解决方案,但我需要十六进制。 也许使用 rgba()、calc() 或 linear-gradient(),但我的尝试没有得到任何结果。
有人可以帮忙吗?
由于我使用的是十六进制颜色和 css 变量,我找不到任何相关帖子
例如:
:root {
--blue: #0000ff;
}
.blue-with-alpha {
color: var(--blue)66; /* I am trying to achieve something like this */
}
【问题讨论】:
-
十六进制表示法不能在 CSS 中存储 alpha 通道信息。唯一支持这种功能的浏览器是早期的 Internet Explorer 版本,它使用一组四个十六进制数字,其中第一个存储 alpha 通道值。 (例如#99ffcccc)因此,无论哪种情况,都需要转换符号,或者您使用另一种方法来添加独立于颜色 alpha 通道的透明度;见:stackoverflow.com/questions/1751263/…
-
@feeela,对不起,你错了。我在谷歌浏览器上使用符号#rrggbbaa,它工作正常
-
Chrome 68 将此报告为“无效的属性值”。可能您启用了隐藏在标志后面的某些功能:“从版本 52:此功能位于启用实验性 Web 平台功能首选项的后面。要更改 Chrome 中的首选项,请访问 chrome://flags。”另请参阅兼容性表:developer.mozilla.org/en-US/docs/Web/CSS/color 所以,这是一个相对较新的功能,浏览器支持不太好。
-
你可以这样使用
background:rgba(0, 0, 0, 0.5); -
与stackoverflow.com/questions/7015302/css-hexadecimal-rgba不重复,因为我使用的是css变量
标签: css variables colors hex alpha