如何找到可关联两种指定颜色的SASS转换函数?
SASS颜色转换解决方案
查找两个颜色关联SASS函数的通用方法
- 先通过SASS内置的
hue()、saturation()、lightness()函数分别提取两个颜色的HSL三属性值,确认二者的差异维度:如果色相不同就需要调整色相,差异在饱和度、亮度、透明度哪个维度就对应调整对应维度即可。 - 根据各维度的差值匹配对应函数:亮度差异用
darken()/lighten(),饱和度差异用saturate()/desaturate(),透明度差异用opacify()/transparentize(),色相差异用adjust-hue(),多个维度存在差异时直接组合对应函数即可。
针对指定两个绿色的转换方案
你给出的两个绿色色相确实一致,均为165°,差异体现在饱和度和亮度两个维度:
- 浅绿
#99E2D0:饱和度58%,亮度74% - 深绿
#008766:饱和度100%,亮度26%
你可以用以下两种写法完成转换,输出结果完全匹配目标深绿色:
- 组合饱和度、亮度调整函数:
$dark-green: darken(saturate($light-green, 42%), 48%);
- 用
adjust-color()一次性调整多个参数,写法更简洁:
$dark-green: adjust-color($light-green, $saturation: 42%, $lightness: -48%);
内容的提问来源于stack exchange,提问作者Giuseppe Amato
相关产品推荐
相关产品推荐

