当前位置: 首页 > ai >正文

HSL颜色控制及使用示例(Hue-Saturation-Lightness)

1. HSL颜色模型简介

  • H (Hue 色相): 色调,0~360度,代表颜色种类,比如0°是红色,120°是绿色,240°是蓝色。

  • S (Saturation 饱和度): 饱和度,0%~100%,代表颜色纯度,0%是灰色,100%是最鲜艳的颜色。

  • L (Lightness 亮度): 亮度,0%~100%,0%是黑,100%是白,50%是标准颜色亮度。

2. HSL语法格式

hsl(H, S%, L%)

 示例:

hsl(0, 100%, 50%)   /* 红色 */
hsl(120, 100%, 50%) /* 绿色 */
hsl(240, 100%, 50%) /* 蓝色 */

3. HSL颜色调控的优势

  • 调整色相就能快速换颜色;

  • 调整亮度和饱和度,控制明暗和纯度更直观;

  • 适合动画、渐变和动态颜色生成。

4. JavaScript里动态控制HSL颜色示例

function generateColor(hue, saturation, lightness) {return `hsl(${hue}, ${saturation}%, ${lightness}%)`;
}// 例子:动态调整色相
for (let i = 0; i <= 360; i += 60) {console.log(generateColor(i, 100, 50));
}

 5. CSS中用HSL控制颜色示例

.button {background-color: hsl(200, 70%, 50%);color: white;
}
.button:hover {background-color: hsl(200, 70%, 40%);
}

6.综合示例:结合 Vue 的动态HSL颜色控制和 $set

<template><div><divv-for="(item, index) in boxes":key="index":style="{ backgroundColor: item.color, width: '100px', height: '100px', margin: '10px' }"></div><button @click="changeColors">改变颜色</button></div>
</template><script>
export default {data() {return {boxes: [{ color: 'hsl(0, 100%, 50%)' },{ color: 'hsl(60, 100%, 50%)' },{ color: 'hsl(120, 100%, 50%)' }]};},methods: {changeColors() {this.boxes.forEach((box, index) => {// 动态修改色相,确保响应式const newHue = (index * 120 + 60) % 360;this.$set(box, 'color', `hsl(${newHue}, 100%, 50%)`);});}}
};
</script>
http://www.xdnf.cn/news/12215.html

相关文章:

  • 整合swagger,以及Knife4j优化界面
  • 【机械视觉】Halcon—【七、blob阈值分割】
  • nginx 同时支持ipv4与ipv6 配置
  • SLG游戏分析
  • Seata 分布式事务 AT 模式
  • IP如何挑?2025年海外专线IP如何购买?
  • python打卡day45@浙大疏锦行
  • Vehicle HAL(5)--vhal 实现设置属性的流程
  • Silicon EFR32xG22 错误问题和解决办法汇总
  • Linux目录结构
  • ROS2里面与话题 /move_base_simple/goal 和 /move_base/status 相对应的话题名字及其含义
  • 整理几个概念:DCU DTK HIP hipcc ROCm LLVM Triton MIGraphX 怎么增加GStreamer插件
  • 可穿戴设备:健康监测的未来之眼
  • 2025年阿里最新软件测试面试题:Web 测试+接口测试+App 测试
  • DAY 22 复习日
  • 获取第三方图片接口文件流并保存服务器
  • 8天Python从入门到精通【itheima】-71~72(数据容器“序列”+案例练习)
  • 串:BF算法(朴素的魔术匹配算法)
  • 【深度学习-Day 23】框架实战:模型训练与评估核心环节详解 (MNIST实战)
  • MQTTX连接移动云的例子
  • JMeter 实现 MQTT 协议压力测试 !
  • 云服务器Xshell登录拒绝访问排查
  • 使用 Deleaker 精准定位内存与 GDI 资源泄漏
  • Matplotlib 库来可视化频谱泄漏和加窗的效果
  • 【如何做好应用架构?】
  • RTOS:创建队列(含源码分析)
  • 搭建DNS域名解析服务器(正向解析资源文件)
  • 数据结构:递归:泰勒展开式(Taylor Series Expansion)
  • 如何搭建自动化测试框架?
  • simulink有无现成模块可以实现将三个分开的输入合并为一个[1*3]的行向量输出?