在 CSS 中如何钳制相对颜色的亮度 | Angelika.me

主要观点:有一个 CSS 变量中的颜色,虽无法控制其来源(可能来自用户输入)但想使用它,且仅在颜色不太暗或不太亮时使用,若不然则修改颜色使其没那么暗或亮,可通过相对颜色语法、hsl()函数和clamp()函数实现,想将自定义颜色的亮度保持在 40%到 80%之间,给出了具体代码示例,还提到可在 CodePen 上查看演示,最后强调此技术不一定适合项目,只是展示酷的 CSS 特性。

关键信息:

  • 定义 CSS 变量--custom-color#226622
  • 定义最小亮度--min-lightness为 40,最大亮度--max-lightness为 80。
  • 使用hsl(from var(--custom-color) h s clamp(var(--min-lightness), l, var(--max-lightness)))来控制颜色亮度。
  • 针对 Safari 需使用@supports添加特定规则hsl(from red h s calc(l - 20%))

重要细节:

  • 代码示例中通过clamp()函数确保颜色亮度在指定范围内。
  • 提供了 CodePen 上的演示链接https://codepen.io/angelikatyborska/pen/emONWWz
  • 提醒此技术在 RGB 颜色空间中 HSL 坐标的“亮度”并非对感知颜色亮度的完美表示,需根据实际情况判断是否适用。
阅读 8
0 条评论