css - SASS计算HSL 2种颜色之间的差异

标签 css sass

我正在使用 SASS 进行一些样式设置。我有一个基色,我希望所有其他颜色都相对于基色发生变化。我已经按照我想要的方式设置了颜色,但是颜色是硬编码的,不是根据基色计算的。

有没有一种工具可以快速生成两种颜色之间差异的SASS颜色函数?有这个工具:http://sassme.arc90.com/ - 但它只允许我使用 slider 生成输出颜色,而不是自己设置输出颜色并生成函数。

希望这是有道理的。

最佳答案

您可以查看以下资源:

Building Color Palettes with SASS

基本上,这是它的核心:

@function color-diff($a, $b) {
  $sat: saturation($a) - saturation($b);
  $lig: lightness($a) - lightness($b);
  $fn-sat: if($sat > 0, 'desaturate', 'saturate');
  $fn-lig: if($lig > 0, 'darken', 'lighten');
 
  @return (
    adjust-hue: -(hue($a) - hue($b)),
    #{$fn-sat}: abs($sat),
    #{$fn-lig}: abs($lig)
  );
}

您想使用 SASS 中的函数(或 LESS 中的参数化混入)来执行此操作,并且您可以看到上面的结构。

希望这对您有所帮助。

关于css - SASS计算HSL 2种颜色之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27028975/

相关文章:

html - 如何在图像上正确重叠文本

jquery - 如何使用CSS在中间对齐文本?

css - 如何使用:first-child with tag

sass - 如何使用 Webpack 2 导入 Foundation 的 SCSS?

sass - 如何为浏览器供应商前缀创建 SASS mixins?

javascript - 复选框切换按钮在 iPhone 上不起作用

html - 嵌套 'justify-content: space-around' 不工作

css - 如何在嵌套选择器中选择 SASS 中的第 n 个子级

jquery - 当元素完全在 View 中时,使用 .each() 运行单独的函数

css - 当在关键帧中定义高度/宽度时,CSS 动画中的旋转中断