我有下面的Sass mixin,它是一个RGBa示例的半个完整修改:
@mixin background-opacity($color, $opacity: .3) {
background: rgb(200, 54, 54); /* The Fallback */
background: rgba(200, 54, 54, $opacity);
}
我已经应用了$opacity
可以,但现在我被$color
部分卡住了。我将发送到mixin的颜色将是十六进制而不是RGB。
我的示例使用将是:
element {
@include background-opacity(#333, .5);
}
如何在这个mixin中使用HEX值?
6条答案
按热度按时间nr9pn0ug1#
rgba()函数可以接受单个十六进制颜色以及十进制RGB值。例如,这将工作得很好:
如果你需要将十六进制颜色分解为RGB分量,你可以使用red(),绿色()和blue()函数来实现:
suzh9iv82#
有一个内置的mixin:
transparentize($color, $amount);
金额应介于0到1之间;
官方Sass文档(模块:Sass::Script::Functions)
6g8kf2rb3#
使用SASS内置的rgba()函数。
例如
一个使用你自己变量的例子:
引用SASS文档:
transparentize()函数将alpha通道减少一个固定的量,这通常不是理想的效果。
osh3o9ms4#
你可以试试这个解决方案,是最好的... url(github)
baubqpgj5#
如果您需要混合可变和alpha透明度的颜色,并且使用包含
rgba()
函数的解决方案,则会出现以下错误像这样的东西可能会有用。
kx1ctssn6#
您可以使用
PostCSS
及其postcss-rgb
插件,该插件在rgba()规则中启用十六进制支持:arpadHegedus/postcss-rgb