我知道如何使用内置函数从十六进制代码中确定较暗的颜色 . 但是如何用hsl做到这一点?我有三种颜色,一种是主色,一种是深色,一种是浅色 . 我需要编写一个函数来计算它们之间的差异,并为它们获得更浅和更暗的阴影 . 因此,当我添加另一种颜色代码时,它会给出相同百分比的浅色和深色 .
据我从Sass文档中了解到,我首先需要一个函数来获得基色的色调,饱和度和亮度,对吧?那么呢?
这些是我的十六进制颜色:
$base: #7760BF;
$base-darker: #483584;
$base-lighter: #b5a9dc;
在这里他们是hsl,以防万一:
$base: hsl(255, 43%, 56%);
$base-darker: hsl(254, 43%, 36%);
$base-lighter: hsl(254, 42%, 76%);
有人可以帮我吗?
1 回答
在Sass中,类型会自动转换 . Sass standard library的颜色函数将接受任何颜色,rgb或hsl .
首先要生成更暗更浅的颜色,可以使用
darken
和lighten
. 我做了一个例子here .然后要知道颜色之间的亮度差异以生成具有相同差异的新颜色,您可以使用
lightness
.我做了另一个例子here,但您可能需要对其进行调整以使其符合您的需求 .
Edit (11/07/17):自从我写这篇文章以来,我改进了可用于生成颜色变体的实用程序 . 您可以在以下位置查看示例:https://codepen.io/ncoden/pen/yXQqpz?editors=1100 .