Ruby Sass 返回颜色作为名称



我有以下代码来混合颜色:

color = Sass::Script::Parser.parse("mix(#000000, #000000, 75%)", 0, 0).perform(Sass::Environment.new)
color.to_s

当计算的颜色为黑色时,Sass 使用名称 black

color => 'black'

我希望它是#000000.我该怎么做?

我什至尝试更改样式(因为显然压缩模式会导致这种情况(,例如 color = Sass::Script::Parser.parse("mix(#000000, #000000, 75%)", 0, 0, {:style => :nested}).perform(Sass::Environment.new)

目前,我们必须通过以下方式处理此问题:

color = hex_color_value(color)
def hex_color_value(sass_color)
  case sass_color
  when 'black'
    '#000000'
  when 'white'
    '#ffffff'
  else
    sass_color
  end
end
我认为

这是不可能的,解析器似乎会立即转换它,但您至少可以使用常量COLOR_NAMES回。

最新更新