如何解决在 SCSS 中将十六进制字符串转换为十六进制颜色值
我以 json 格式存储了很多颜色。我通过 gulp 使用 rootbeer 将它们转换为可以由 scss 处理的 sass 映射:
{ "blue": "33A2FF" }
到
$colors: ( "blue": "33A2FF" );
我可以使用 #{}
语法很好地使用颜色,但是一旦应用了 lightness()
之类的任何颜色函数,编译器就会失败,因为颜色类型完全消失了。
即使使用 unquote()
也不允许 sass 将其视为字符串,但它必须是一种颜色。
我的问题是,是否有任何方法可以强制编译器将其视为颜色?另一种方法是省略 built-in color functions 的所有用法。
或者,我可以将所有 hey 重写为 rgb,使用 r、g 和 b 的单独值,然后使用 rgb()
语法将它们作为颜色返回,如 here 所示。但这需要大量的返工。所以也许有人知道如何解决这个问题。
解决方法
我找到了允许将十六进制格式的字符串处理为 rgb() 的实用程序:https://github.com/KittyGiraudel/SassyJSON/tree/master/stylesheets/decode/helpers/color
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。