将颜色的亮度更改为特定值

Change the lightness of a color to a specific value

我正在尝试将特定颜色的亮度更改为特定百分比。

例如:

myFunction( hsl(218, 100%, 63%), 80% );

会将 hsl(218, 100%, 63%) 变为 hsl(218, 100%, 80%)

我找不到任何颜色操作函数可以做到这一点;因为 tint() 也改变了饱和度,并且 lighten() 是相对于当前亮度的(添加到当前值)。

有什么方法可以使用 LESS 来实现吗?

谢谢!

好吧,我找到了解决方法:

background-color: lighten( @color, 80% - lightness(@color) );

80% 表示需要的亮度值。

这也适用于色调和饱和度:

// Hue:
background-color: spin( @color, 100 - hue(@color) ); // (100 degrees).

// Saturation:
background-color: saturate( @color, 80% - saturation(@color) );