【发布时间】:2013-04-14 21:46:51
【问题描述】:
当我在 Adobe Illustrator 中设计东西时,我喜欢选择一种颜色,然后调整它的亮度或饱和度,让自己成为“同族”的相似颜色。
在CSS中,你可以用这些值来定义颜色:RGB、RGBA、HSL……既然你可以同时定义所有三个参数,我想了很久:有没有办法改变一个那些单参数?
例如,假设我将三个链接定义为具有非常“漂亮”的颜色 #FF0000、#00FF00 和 #0000FF。是否可以创建一个单一的 CSS 规则来说明“在所有链接悬停时,无论其颜色如何,将其亮度/亮度降低 10%”?
我也很想对 RGBA 颜色的 alpha 参数做同样的事情。我所知道的唯一一种不加选择地影响所有颜色的通用方法是 opacity 属性,但如果我只想影响背景,这就会变成一个问题。
这样的事情(仅影响 H、S 或 L)听起来很简单:如果您可以重新定义整个颜色,您就不能再次采用相同的颜色并更改其中一个值吗?但问题是:有没有人想过真正想办法做到这一点?
【问题讨论】:
-
CSS 本身无法做到这一点,但 SASS 和其他一些 CSS 预处理器可以。 sass-lang.com/docs/yardoc/Sass/Script/…
-
^为什么这不是一个答案?它似乎比下面的任何东西都更充分、更简洁。