给定一个颜色作为输入,如何在LESS中将其转换为较暗的颜色(如果它是浅色)或较亮的颜色(如果它是深色)?
例如:
- 当颜色是 暗色 时,结果类似于
darken(@color-input,10%)
- 当颜色是 浅色 时,结果类似于
lighten(@color-input,10%)
是否有可以应用的条件测试或任何{{link1:color operation}}可以得到此结果?
我认为这个问题被正确地识别为重复的,但是为了正确回答它,这里是正确的答案(基于seven-phases-max's answer):
contrast(@color-input, lighten(@color-input, 10%), darken(@color-input, 10%));
您可以在此处查看一个工作示例。
您可以在此处阅读更多关于对比功能的信息。
我不确定这是否是最佳答案,但以下代码似乎能够解决问题:
mix(@color-input, contrast(@color-input), 90%);
contrast
相同的操作要长 3 倍。 - seven-phases-max