HTML 颜色全解析:从命名规则到 RGBA/HSL 值,附透明度设置与场景应用指南
一、HTML 颜色系统详解
HTML 中的颜色可以通过多种方式定义,包括颜色名称、RGB 值、十六进制值、HSL 值等,同时支持透明度调整。以下是详细分类及应用场景:
1. 颜色名称(预定义关键字)
HTML 预定义了 140 个标准颜色名称,如 red、blue、green 等,这些名称是浏览器直接支持的关键字。
示例:
<p style="color: tomato;">这是番茄红文本</p>
<div style="background-color: papayawhip;">这是番木瓜色背景</div>
- 优点:简单易记,无需计算
- 缺点:颜色范围有限,无法精确控制色调
常见名称:
基础色:red、blue、green、yellow、black、white
中性色:gray/grey、silver、navy、maroon
特色色:tomato、lavender、coral、teal
注意:颜色名称不区分大小写,但建议使用小写以保持一致性。
2. RGB 表示法
RGB(Red, Green, Blue)通过三个 0-255 的数值表示颜色,格式为 rgb(红, 绿, 蓝)。
示例:
<p style="color: rgb(255, 0, 0);">纯红色</p> <!-等同于 red -->
<div style="background-color: rgb(128, 128, 128);">中灰色</div>
- 优点:精确控制颜色,覆盖全色域
- 缺点:数值记忆困难,需借助工具生成
透明度支持:使用 rgba(红, 绿, 蓝, 透明度),如:
<div style="background-color: rgba(0, 0, 255, 0.5);">半透明蓝色</div>
透明度值范围为 0.0(完全透明) 到 1.0(完全不透明)。
3. 十六进制表示法
十六进制颜色是最常用的表示法,格式为 RRGGBB 或 RGB(简写形式)。
示例:
<p style="color: FF0000;">纯红色</p> <!-等同于 rgb(255, 0, 0) -->
<div style="background-color: 808080;">中灰色</div>
简写规则:当两位数值相同时可缩写,如 FF0000 可写成 F00
透明度支持:使用 8 位表示法 RRGGBBAA,如:
<div style="background-color: 0000FF80;">半透明蓝色(80 表示约 50% 透明度)</div>
透明度范围为 00(完全透明) 到 FF(完全不透明)。
4. HSL 表示法
HSL(Hue, Saturation, Lightness)即色相、饱和度、亮度,格式为 hsl(色相, 饱和度%, 亮度%)。
示例:
<p style="color: hsl(0, 100%, 50%);">纯红色(色相 0°)</p>
<div style="background-color: hsl(120, 100%, 25%);">深绿色</div>
参数说明:
- 色相(Hue):0-360 度的色轮值(0=红,120=绿,240=蓝)
- 饱和度(Saturation):0%(灰色)到 100%(纯色彩)
- 亮度(Lightness):0%(黑色)到 100%(白色),50% 为标准亮度
透明度支持:使用 hsla(色相, 饱和度%, 亮度%, 透明度),如:
<div style="background-color: hsla(180, 100%, 50%, 0.3);">半透明青色</div>
二、颜色应用场景与最佳实践
1. CSS 中的颜色应用
颜色可用于文本、背景、边框等多种 CSS 属性:
/* 文本颜色 */
p {color: 333; /* 深灰色文本 */
}/* 背景颜色 */
.header {background-color: rgba(0, 0, 0, 0.8); /* 半透明黑色背景 */
}/* 边框颜色 */
.card {border: 2px solid hsl(210, 100%, 50%); /* 蓝色边框 */
}/* 渐变背景 */
.gradient {background: linear-gradient(to right, ff9a9e, fad0c4); /* 粉色到米色渐变 */
}
2. 响应式颜色方案
根据设备或主题切换颜色:
/* 深色模式 */
@media (prefers-color-scheme: dark) {body {background-color: 1a1a1a;color: f0f0f0;}
}/* 浅色模式 */
@media (prefers-color-scheme: light) {body {background-color: ffffff;color: 333333;}
}
3. 动态颜色计算
使用 CSS 变量和 JavaScript 动态调整颜色:
<style>:root {--primary-color: 4a90e2; /* 主色调 */}.button {background-color: var(--primary-color);color: white;}
</style><script>// 根据用户操作动态修改颜色document.documentElement.style.setProperty('--primary-color', 'e24a4a');
</script>
4. 无障碍与对比度
确保文本与背景的颜色对比度符合 WCAG 标准(至少 4.5:1):
/* 良好的对比度示例 */
.danger-text {color: ff3333; /* 明亮的红色 */background-color: ffffff; /* 白色背景 */
}/* 不良的对比度示例(避免) */
.warning-text {color: aaaaaa; /* 浅灰色 */background-color: f0f0f0; /* 浅灰色背景 */
}
三、颜色工具与资源
1. 颜色选择器:
Chrome DevTools 内置颜色选择器
[Coolors](https://coolors.co/):生成配色方案
[Color Hunt](https://colorhunt.co/):获取流行配色
2. 对比度检查工具:
[WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
[Chrome Lighthouse](https://developers.google.com/web/tools/lighthouse)
3. 颜色命名参考:
[HTML Color Names](https://www.w3schools.com/colors/colors_names.asp)
[CSS Color Keywords](https://developer.mozilla.org/en-US/docs/Web/CSS/color_valuecolor_keywords)
四、常见误区与注意事项
1. 避免使用纯黑色文本:
/* 不推荐 */body {color: 000000; /* 纯黑色 */}/* 推荐 */body {color: 333333; /* 深灰色,更易阅读 */}
2. 慎用高饱和度颜色:
明亮的纯色(如 FF0000)可能导致视觉疲劳,建议降低饱和度或亮度。
3. 避免颜色依赖:
不要仅通过颜色传达信息(如“红色表示错误”),需结合图标或文本提示。
4. 响应式颜色适配:
深色模式下,需重新测试颜色对比度和可读性。
五、总结
- HTML 颜色系统提供了多种表示方法,开发者可根据场景选择合适的方式:
- 颜色名称:简单场景,快速开发
- RGB/RGBA:精确控制颜色与透明度
- 十六进制:简洁且广泛使用,支持透明度缩写
- HSL/HSLA:直观调整色相、饱和度和亮度
在实际应用中,需兼顾视觉效果与无障碍标准,合理使用 CSS 变量和媒体查询实现动态颜色方案,为用户提供一致且舒适的视觉体验。
相关文章:
HTML 颜色全解析:从命名规则到 RGBA/HSL 值,附透明度设置与场景应用指南
一、HTML 颜色系统详解 HTML 中的颜色可以通过多种方式定义,包括颜色名称、RGB 值、十六进制值、HSL 值等,同时支持透明度调整。以下是详细分类及应用场景: 1. 颜色名称(预定义关键字) HTML 预定义了 140 个标准颜色名…...
HTTP / HTTPS 协议
目录 一、前言: 二、Fiddler 抓包工具: 三、http 协议: 1、http 请求: 1.(1)请求行: 1、(2) 请求头: 1、(3) 请求正文: 2、http 响应: 2、(1) 状态码&#x…...
使用GRPO训练调度事件的语言模型!
参考:https://huggingface.co/blog/anakin87/qwen-scheduler-grpo 现在是2025年,在DeepSeek热潮之后,每个人都想使用GRPO训练自己的推理模型。 作为一名实践者,我也想这样做:仅使用提示和奖励来训练语言模型是一件非常…...
关于 js:9. Node.js 后端相关
一、Node 环境搭建与执行流程 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让 JS 不再局限于浏览器内,而是可以在服务器、终端、本地脚本中运行。 核心定位:让我们可以用 JS 写本地程序、脚本、爬虫、加密逻辑、hook 工具、…...
More Effective C++:改善编程与设计(上)
More Effective C: 目录 More Effective C: 条款1:仔细区别pointers和 references 条款2:最好使用C转型操作符 条款3:绝对不要以多态方式处理数组 条款4:非必要不要提供default constructor 条款5:对定制的“类型转换函数”保持警觉 …...
SCDN如何有效防护网站免受CC攻击?——安全加速网络的实战解析
在互联网安全威胁日益复杂化的今天,CC(Challenge Collapsar)攻击已成为网站运营者面临的主要挑战之一。这种攻击通过模拟大量合法用户请求,消耗服务器资源,导致正常用户无法访问。而**安全内容分发网络(SCD…...
关于并发编程AQS的学习
目录 1. AQS的核心作用 2. AQS的核心结构 3. 关键方法 4. AQS的应用示例 4.1、ReentrantLock的实现 4.2、CountDownLatch的实现 5. AQS的优势 6. 对比其他同步机制 前言 AQS(AbstractQueuedSynchronizer) 是Java并发编程中一个核心的同步器框架…...
16S18S基础知识(1)
相关内容: https://blog.csdn.net/weixin_34315189/article/details/86397125?fromshareblogdetail&sharetypeblogdetail&sharerId86397125&sharereferPC&sharesource2302_80012625&sharefromfrom_link https://metagenome.blog.csdn.net/art…...
Java Spring Boot 控制器中处理用户数据详解
目录 一、获取请求参数1.1 获取查询参数1.2 获取路径参数 二、处理表单提交2.1 处理表单数据 三、处理 JSON 数据3.1 接收 JSON 数据 四、返回 JSON 数据五、处理文件上传5.1 单文件上传5.2 多文件上传 六、总结 在 Spring Boot 应用开发中,控制器(Contr…...
AI产品上市前的“安全通行证“
首席数据官高鹏律师团队 如今AI 产品如雨后春笋般涌现,从智能音箱到自动驾驶汽车,从语音助手到医疗诊断软件,它们正全方位渗透进我们的生活。然而,在 AI 产品迈向市场、走进千家万户之前,有一系列强制性安全认证如同坚…...
sql server 2019 将单用户状态修改为多用户状态
记录两种将单用户状态修改为多用户状态,我曾经成功过的方法,供参考 第一种方法 USE master; GO -- 终止所有活动连接 DECLARE kill_connections NVARCHAR(MAX) ; SELECT kill_connections KILL CAST(session_id AS NVARCHAR(10)) ; FROM sys.dm_ex…...
[滑动窗口]越短越合法(可转化成越长越合法)
题目链接 题意 给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于k 的连续子数组的数目。 首先当ans增加时 我们认为r固定 方法一、转化成越长越合法 思路 算出乘积 ≥ k \ge k ≥k的子数组数量 再用所有子数组数量减去上面算出来…...
idea中编写spark程序
### 在 IntelliJ IDEA 中配置和编写 Spark 程序 要在 IntelliJ IDEA 中高效地开发 Spark 程序,需要完成一系列必要的环境配置以及项目搭建工作。以下是详细的说明。 --- #### 1. 安装与配置 IntelliJ IDEA 为了确保 IDE 可以支持 Scala 开发,首先需要…...
机器学习入门(一)
机器学习入门(一) 文章目录 机器学习入门(一)一、机器学习分类1.1 监督学习1.2 半监督学习1.3 无监督学习1.4 强化学习 二、scikit-learn工具介绍scikit-learn安装 三、数据集3.1 sklearn玩具数据集介绍3.2 sklearn现实世界数据集…...
力扣每日一题之移动零
题目说明: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 思路分析:我们可以考虑使用双指针来解答该题。双指针分…...
GaiaEx 盖亚:从合规出发,一家新兴交易平台的全球化路径探索
在加密货币交易平台日益激烈的竞争中,监管趋严、安全要求提升、用户体验优化已成为行业发展的三大核心议题。2025年初正式上线的GaiaEx 盖亚交易所,正是在这一市场背景下,以“合规 产品 生态”的多维路径,逐步建立起自身的发展方…...
车载网关--- 职责边界划分与功能解耦设计
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...
EasyRTC嵌入式音视频通信SDK打造带屏IPC全场景实时通信解决方案
一、方案概述 在智能安防与物联网快速发展的背景下,带屏IPC(网络摄像机)不仅承担着视频采集与监控的基础功能,还逐渐向多样化交互与智能化方向演进。EasyRTC作为一款强大的实时通信框架,具备低延迟、高稳定性、跨平…...
STM32入门笔记(05):内部高速8Mhz时钟最大时钟可以设置 64 Mhz?如何修改system_stm32f10x.c里面的代码?
6.2 Clocks 最大系统时钟频率 当 STM32F103 系列仅使用内部高速振荡器(HSI,8 MHz)作为时钟源,并通过 PLL 放大时,最大可达 64 MHz。([forum.mikroe.com][1], [keil.com][2]) HSI 被内部除以 2(即 4 M…...
iOS 阅后即焚功能的实现
iOS阅后即焚功能实现步骤 一、功能设计要点 消息类型支持:文本、图片、视频、音频等。销毁触发条件: 接收方首次打开消息后启动倒计时。消息存活时间可配置(如5秒、1分钟)。 安全要求: 端到端加密(E2EE&a…...
二叉树前中后序遍历统一迭代法详解:空标记法与栈操作的艺术
二叉树的 前序、中序、后序 遍历是算法中的经典问题。递归实现简单直观,而迭代法则能更好地理解栈的操作逻辑。前文中(中序,前序与后序)所讲过传统的迭代法需要为每种遍历设计不同的入栈顺序,但 统一迭代法 通过引入 空标记节点&a…...
Spark 集群配置、启动与监控指南
Spark 集群的配置和启动需要几个关键步骤。以下是完整的操作流程,包含配置修改、集群启动、任务提交和常见错误排查方法。 1. 修改 Spark 配置文件 首先需要编辑 Spark 配置文件,设置集群参数: bash # 进入 Spark 配置目录 cd $SPARK_HOM…...
综述:拓扑材料的热磁性质
Adv. Funct. Mater. 2025, 2506631 https://doi.org/10.1002/adfm.202506631 近年来,越来越多的拓扑材料表现出优异的热磁(TM)性能,其显著的双极效应和线性能带带来的高载流子迁移率改善了这种性能。 本文综述了TM输运理论、基于…...
lanqiaoOJ 652:一步之遥 ← 扩展欧几里得定理
【题目来源】 https://www.lanqiao.cn/problems/652/learning/ 【题目背景】 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 【题目描述】 从昏迷中醒来,小明发现自己被关在X星球的废矿车里。矿车停在平直的废弃…...
双目云台摄像机:双摄安防功能全方位
双目云台摄像机是一种具有革命性设计的云台摄像机设备,其核心在于其独特的双摄像头配置。以下是对这种先进安防设备的详细介绍: 一、核心原理 双目云台摄像机的核心原理在于利用两个摄像头从不同角度捕捉同一场景,通过先进的算法计算两个图…...
Linux - 基础指令
目录 linux下基本指令 ls pwd cd touch mkdir rmdir rm man cp mv cat more less head tail | 匿名管道 find 指令 which alias grep zip/unzi rz/sz tar 重要的⼏个热键 学习linux操作系统,学习指令是必不可少的 尽管有图形化的linux操作系统供学者学习&am…...
深圳无人机展览即将开始,无人机舵机为什么选择伟创动力
深圳无人机展览即将开始,无人机舵机为什么选择伟创动力 2025年5月23日至25日,伟创动力(Kpower)将携旗下多款高性能舵机及微型驱动系统方案亮相2025国际低空经济与无人系统博览会(深圳无人机展),全面展示其在无人机、机…...
ajax提交form表单数据举例
目录 一、HTML 表单准备二、JavaScript 文件(form.js)三、服务器端处理(Spring Boot 示例)四、运行和测试五、总结在现代 Web 开发中,为了提供更流畅、无需页面刷新的用户体验,AJAX(Asynchronous JavaScript and XML)技术被广泛应用于提交表单数据。本文将通过一个具体…...
IDEA 新建 SpringBoot 项目时,没有高版本 SpringBoot 可选
环境描述 IDEA 2025.1.1JDK17Maven 3.9.9 问题描述 IDEA 新建 SpringBoot 项目时,没有高版本 SpringBoot 可选,可以看到此时的最高版本为 3.0.2: 问题分析 返回上一步,可以发现 Spring Initializr 的服务地址为阿里云&#…...
下载的旧版的jenkins,为什么没有旧版的插件
下载的旧版的jenkins,为什么没有旧版的插件,别急 我的jenkins版本: 然后我去找对应的插件 https://updates.jenkins.io/download/plugins/ 1、Maven Integration plugin: Maven 集成管理插件。 然后点击及下载成功 然后 注意&…...
java连数据库
一、准备工作 安装MySQL数据库 确保已安装MySQL服务器并启动服务 下载JDBC驱动 官方驱动:MySQL Connector/JMaven依赖: <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactI…...
常见排序算法及其java实现
常见排序算法 一、冒泡排序(Bubble Sort)二、选择排序(Selection Sort) 三、插入排序(Insertion Sort)四、快速排序(Quick Sort) 五、归并排序(Me…...
【Python 算法零基础 2.模拟 ④ 基于矩阵】
目录 基于矩阵 Ⅰ、 2120. 执行所有后缀指令 思路与算法 ① 初始化结果列表 ② 方向映射 ③ 遍历每个起始位置 ④ 记录结果 Ⅱ、1252. 奇数值单元格的数目 思路与算法 ① 初始化矩阵 ② 处理每个操作 ③ 统计奇数元素 Ⅲ、 832. 翻转图像 思路与算法 ① 水平翻转图像 ② 像素值…...
2025年PMP 学习十三 第9章 项目资源管理(9.1,9.2)
2025年PMP 学习十三 第9章 项目资源管理(9.1,9.2) 序号过程过程组9.1规划资源管理规划9.2估算活动资源规划9.3获取资源执行9.4建设团队执行9.5管理团队执行9.6控制资源监控 文章目录 2025年PMP 学习十三 第9章 项目资源管理(9.1,9.2…...
IEEE802.16 标准介绍
IEEE802.16 标准又称为IEEE Wireless MAN 空中接口标准,对工作于不同频带的无线接入系统空中接口进行了规范。由于它所规定的无线系统覆盖范围在公里量级,因此802.16 系统主要应用于城域网。 根据使用频带高低的不同,802.16 系统可分为应用于…...
Nginx配置与应用案例详解
Nginx 是一款高性能的 HTTP 服务器和反向代理服务器,广泛用于负载均衡、静态资源托管和动态内容转发。以下是对 Nginx 配置的详细解析及常见应用场景案例。 一、Nginx 配置文件结构 Nginx 的配置文件通常位于 /etc/nginx/nginx.conf,包含以下核心模块: 全局块 (Main Contex…...
Hadoop-HDFS-Packet含义及作用
在 HDFS(Hadoop Distributed File System)中,Packet 是数据读写过程中用于数据传输的基本单位。它是 HDFS 客户端与数据节点(DataNode)之间进行数据交互时的核心概念,尤其在写入和读取文件时,Pa…...
作业帮Android面试题及参考答案
简单描述 Java 类加载机制 Java 类加载机制是将类的字节码载入 JVM 并生成对应的 Class 对象的过程,主要包括以下几个阶段。 加载是类加载的第一个阶段,通过类的全限定名来获取其字节码流,然后将字节码流解析成方法区中的运行时数据结构&…...
分布式1(cap base理论 锁 事务 幂等性 rpc)
目录 分布式系统介绍 一、定义与概念 二、分布式系统的特点 三、分布式系统面临的挑战 四、分布式系统的常见应用场景 CAP 定理 BASE 理论 BASE理论是如何保证最终一致性的 分布式锁的常见使用场景有哪些? 1. 防止多节点重复操作 2. 资源互斥访问 3. 分…...
如何下载 MySQL 驱动 JAR 包
下载 MySQL 驱动 JAR 包的 4 种方式: 官网下载:从 MySQL 官网 下载对应版本的 ZIP 包Maven:在 pom.xml 添加 mysql-connector-java 依赖Gradle:在 build.gradle 使用 implementation mysql:mysql-connector-java:8.0.x直接下载&a…...
unordered_map和unordered的介绍和使用
目录 unordered系列关联式容器 unordered_map unordered_map的接口说明 unordered_map的定义方式 unordered_map接口的使用 unordered_map的容量 unordered_map的迭代器 unordered_map的元素访问 unordered_map的查询 unordered_map的修改操作 unordered_multimap u…...
【原创】使用阿里云存放一个临时共享的文件
在某些场合,需要临时将一个文件存储到一个可被公网访问的地方,某个服务需要访问一下这个文件。这个文件基本上就是一次寿命,也就是你上传一下,然后被访问一下,这个文件的寿命就结束了。 对于这种需求,自建…...
C++学习细节回顾(汇总二)
一.初始化列表相关 1.初始化顺序受申明顺序影响 2.在必要时可以部分不采用初始化列表,避免受特性1影响 二.非类型模板参数 template< class T , size_t N 10 > 三.特化–特殊化处理 template< class T > bool less(T left , T right) { return left&…...
【行为型之访问者模式】游戏开发实战——Unity灵活数据操作与跨系统交互的架构秘诀
文章目录 🧳 访问者模式(Visitor Pattern)深度解析一、模式本质与核心价值二、经典UML结构三、Unity实战代码(游戏物品系统)1. 定义元素与访问者接口2. 实现具体元素类3. 实现具体访问者4. 对象结构管理5. 客户端使用 …...
ubuntu系统安装配置adb工具
获取adb tools 1. 下载最新版(替换链接中的版本号) wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip2. 解压到当前目录 unzip platform-tools-latest-linux.zip3. 移动文件到系统目录 sudo mv platform-tools /usr/…...
基于Python的量化交易实盘部署与风险管理指南
基于Python的量化交易实盘部署与风险管理指南 一、模拟交易与参数优化 1.1 券商API接入与模拟交易 在量化交易落地前,模拟交易是策略验证的“安全沙箱”,其核心价值在于用零成本环境暴露策略缺陷。以股票市场为例,同花顺与通达信模拟盘接口…...
MySQL 入门大全:数据类型
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...
WPF Datagrid 数据加载和性能
这篇文章并非讨论 WPF Datagrid 的性能数据,而只是简单介绍一下为了使其性能良好,你需要注意哪些方面。我不太想使用性能分析器来展示实际数据,而是尽可能地使用了 Stopwatch 类。这篇文章不会深入探讨处理海量数据的技术,例如分页…...
商城小程序源码介绍
今天要为大家介绍一款基于ThinkPHP、FastAdmin以及UniApp开发的商城小程序源码,这款源码在设计和功能上都有不俗的表现,非常适合想要搭建线上商城的开发者。 该源码采用了ThinkPHP作为后端框架,利用其强大的性能和灵活性,保障了系…...
【大模型】OpenManus 项目深度解析:构建通用 AI Agent的开源框架
OpenManus 项目深度解析:构建通用 AI Agent的开源框架 一、项目概述项目特点 二、项目运行方式与执行步骤(一)环境准备方法 1:使用 conda方法 2:使用 uv(推荐) (二)配置&…...