ruby-on-rails - LESS CSS 预处理器 : Is there a way to map a single color to an rgb and rgba definition?

标签 ruby-on-rails css ruby less

我正在尝试在 CSS 预处理器 LESS 中编写一个 block ,它将执行以下操作:

@transparent_background(@color; @alpha: .8)
{
  background: @color;
  background: rgba(<color R value>, <color G value>, <color B value>, @alpha);
}

如果它是标准的十六进制定义(即#rrggbb),是否有任何方法可以从@color 中获取RGB 值?如果@color 是以其他方式定义的,有没有办法做到这一点?

编辑:解决方案

@transparent_background(@color; @alpha: .8)
{
  background: @color;
  background: @color + rgba(0, 0, 0, @alpha);
}

最佳答案

试试这个:

background: @color - rgba(0, 0, 0, 1.0) + rgba(0, 0, 0, @alpha);

减法将清除 @color 上的 alpha channel ,然后您只需将所需的 @alpha 添加到 alpha channel 。颜色具有全套操作符,并且在对两种颜色进行操作时,它们逐个组件地工作;颜色在内部存储为 RGBA 组件,因此这应该可以工作。此外,alpha channel 被标准化为在区间 [0, 1.0] 中,因此从 alpha channel 中减去 1.0 应该会清除它而不会导致任何问题。

我现在没有设置 CSS LESS,所以我无法检查,但这值得一试。

关于ruby-on-rails - LESS CSS 预处理器 : Is there a way to map a single color to an rgb and rgba definition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4445238/

相关文章:

ruby-on-rails - 验证 Rails 中的重置密码

html - 我可以使用带边框颜色的渐变吗?

jquery - 我想在向下滚动期间修复 <div>

ruby-on-rails - 乘客使用错误的 ruby​​ 版本

ruby - 无法调用instance_eval中的*method=*类型方法

ruby-on-rails - 在 rails、facebook connect、facebooker 插件中销毁 cookie

ruby-on-rails - Rails 3 中的 fields_for 问题

ruby-on-rails - 带有 Bootstrap 的带有 kaminari 的自定义 css

ruby-on-rails - 使用回形针删除图像

jquery - 动画宽度在 chrome 和 safari 中不能正常工作