在 SCSS 中将十六进制字符串转换为十六进制颜色值
Convert a Hex-String to a Hex-Color value in SCSS
我以json格式存储了很多颜色。我通过 gulp 使用 rootbeer 将它们变成 sass 可以由 scss 处理的地图:
{ "blue": "33A2FF" }
到
$colors: ( "blue": "33A2FF" );
我可以使用 #{}
语法很好地使用颜色,但是一旦应用任何像 lightness()
这样的颜色函数,编译器就会失败,因为颜色类型完全消失了。
即使使用 unquote()
也不允许 sass 将其视为字符串,但它必须是一种颜色。
我的问题是,是否有任何方法可以强制编译器将其视为一种颜色?另一种方法是省略 built-in color functions.
的所有使用
或者我可以将所有 hey 重写为 rgb,r、g 和 b 具有单独的值,然后使用 rgb()
语法将它们 return 作为颜色,如 here 所示.但这需要进行重大返工。所以也许任何人都知道如何解决这个问题。
我找到了允许将十六进制格式的字符串处理为 rgb() 的实用程序:https://github.com/KittyGiraudel/SassyJSON/tree/master/stylesheets/decode/helpers/color
我以json格式存储了很多颜色。我通过 gulp 使用 rootbeer 将它们变成 sass 可以由 scss 处理的地图:
{ "blue": "33A2FF" }
到
$colors: ( "blue": "33A2FF" );
我可以使用 #{}
语法很好地使用颜色,但是一旦应用任何像 lightness()
这样的颜色函数,编译器就会失败,因为颜色类型完全消失了。
即使使用 unquote()
也不允许 sass 将其视为字符串,但它必须是一种颜色。
我的问题是,是否有任何方法可以强制编译器将其视为一种颜色?另一种方法是省略 built-in color functions.
的所有使用或者我可以将所有 hey 重写为 rgb,r、g 和 b 具有单独的值,然后使用 rgb()
语法将它们 return 作为颜色,如 here 所示.但这需要进行重大返工。所以也许任何人都知道如何解决这个问题。
我找到了允许将十六进制格式的字符串处理为 rgb() 的实用程序:https://github.com/KittyGiraudel/SassyJSON/tree/master/stylesheets/decode/helpers/color