主要观点:有一个 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 坐标的“亮度”并非对感知颜色亮度的完美表示,需根据实际情况判断是否适用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。