Web前端入门第 25 问:CSS 中 11 种颜色写法
曾经,CSS 颜色的写法很专一,就只有十六进制写法(#ff0000
)和关键字写法(red
)。
现在,它变了,变得花样多了,各种招式眼花缭乱。
以红色(red
)为例:
1. 颜色关键字
直接使用预定义的颜色名称:
color: red;
解释
直接使用关键词 red。
2. 6位十六进制
使用完整的 6 位十六进制(#RRGGBB
):
color: #ff0000;
解释
ff: 红色分量(十进制 255);
00: 绿色分量(十进制 0);
00: 蓝色分量(十进制 0)。
3. 3位十六进制
使用简写的 3 位十六进制(#RGB
):
color: #f00; /* 等价于 #ff0000 */
参数:
f: 红色分量(ff,即十进制 255);
0: 绿色分量(00,即十进制 0);
0: 蓝色分量(00,即十进制 0)。
4. 8位十六进制(带透明度)
使用 8 位十六进制(#RRGGBBAA
),最后两位表示透明度(00
为完全透明,ff
为不透明):
color: #ff000080; /* 红色,50% 透明度 */
参数:
ff: 红色分量(255);
00: 绿色分量(0);
00: 蓝色分量(0);
80: 透明度分量(十六进制 80 = 十进制 128,即 50% 透明度)。
5. RGB 函数
使用 rgb()
函数指定红、绿、蓝分量(0-255):
color: rgb(255, 0, 0);
参数:
255: 红色分量(0-255);
0: 绿色分量(0-255);
0: 蓝色分量(0-255)。
6. RGBA 函数
使用 rgba()
函数,额外指定透明度(0-1):
color: rgba(255, 0, 0, 0.5); /* 红色,50% 透明度 */
参数:
255: 红色分量(0-255);
0: 绿色分量(0-255);
0: 蓝色分量(0-255);
0.5: 透明度(0=透明,1=不透明)。
7. HSL 函数
使用 hsl()
函数通过色相(0-360)、饱和度(0%-100%)、明度(0%-100%)表示:
color: hsl(0, 100%, 50%); /* 色相 0 度(红色),100% 饱和度,50% 明度 */
参数:
0: 色相(0-360 度,0°=红色,120°=绿色,240°=蓝色);
100%: 饱和度(0%=灰色,100% 最鲜艳);
50%: 明度(0%=黑色,100%=白色,50% 为基准颜色)。
8. HSLA 函数
使用 hsla()
函数,额外指定透明度(0-1):
color: hsla(0, 100%, 50%, 0.5); /* 红色,50% 透明度 */
参数:
0: 色相(0-360 度);
100%: 饱和度;
50%: 明度;
0.5: 透明度(0-1)。
9. HWB 函数(较新)
使用 hwb()
函数通过色相(0-360)、白度(0%-100%)、黑度(0%-100%)表示:
color: hwb(0 0% 0%); /* 色相 0 度,0% 白度,0% 黑度 */
参数:
0: 色相(0-360 度);
0%: 白度(混合白色的比例,0%-100%);
0%: 黑度(混合黑色的比例,0%-100%)。
注意:白度 + 黑度 ≤ 100%,超出会被规范化。
浏览器兼容性:
10. LAB() 函数(较新)
基于 CIE LAB 颜色空间(人眼感知的色彩模型):
color: lab(53.23% 80.09 67.2); /* 亮度 53.23%,a 轴 80.09,b 轴 67.2 */
参数:
53.23%: 亮度(Lightness),范围 0%-100%;
80.09: a 轴(绿-红轴),负值偏绿,正值偏红;
67.2: b 轴(蓝-黄轴),负值偏蓝,正值偏黄。
浏览器兼容性:
11. LCH() 函数(较新)
基于 LCH 颜色空间(亮度、色度、色相的极坐标形式):
color: lch(53.23% 104.55 40.85); /* 亮度 53.23% ,色度 104.55 ,色相 40.85 */
参数:
53.23%: 亮度(Lightness),范围 0%-100%;
104.55: 色度(Chroma),数值越大颜色越鲜艳;
40.85: 色相(Hue),0-360 度的角度值(红色约在 0-50 度之间)。
浏览器兼容性:
最新版本的 Chrome 浏览器已支持全部写法,如图:
删除线并不是说不支持这种写法,而是同一条规则中相同的 css 属性,只会有一条生效,其他的将会被丢弃。
总结
共 9 种常见写法,涵盖颜色关键字、十六进制、RGB/RGBA、HSL/HSLA 和 HWB。
其他高级颜色空间(如 lab()
、lch()
)根据兼容情况,选择性使用。
Web前端入门第 25 问:CSS 中 11 种颜色写法的更多相关文章
- web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史
秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...
- 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
好程序员web前端分享值得参考的css理论:OOCSS.SMACSS与BEM 最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCS ...
- 进击的Python【第十三章】:Web前端基础之HTML与CSS样式
进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客 ...
- Android零基础入门第25节:最简单最常用的LinearLayout线性布局
原文:Android零基础入门第25节:最简单最常用的LinearLayout线性布局 良好的布局设计对于UI界面至关重要,在前面也简单介绍过,目前Android中的布局主要有6种,创建的布局文件默认 ...
- 好程序员web前端分享18个用CSS制作出来的东西
好程序员web前端分享18个用CSS制作出来的东西,与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和 ...
- web前端入坑第二篇:web前端到底怎么学?干货资料! 【转】
http://blog.csdn.net/xllily_11/article/details/52145172 版权声明:本文为博主[小北]原创文章,如要转载请评论回复.个人前端公众号:前端你别闹,J ...
- web前端学习(三)css学习笔记部分(8)-- SVN的介绍和应用、CSS动画效果、CSS3布局属性全接触
15.SVN的介绍和应用 15.1.SVN的介绍和应用课程概要 将代码进行集中管理,有版本号的进行迭代,方便集体工作的build流程 15.2.SVN的介绍 SVN是Subversion的简称,是一个 ...
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...
- web前端(7)—— 了解CSS样式,引入css样式的方式
CSS 在前面大概的介绍了css,从本片博文开始,会详细的介绍它,在最开始介绍web前端时,打开百度首页,当时我提出了一个问题,为什么百度首页的输入框可以放在正中间,就是由于有css的控制,我们可以打 ...
- [转载]Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
http://brackets.io/ Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维 ...
随机推荐
- SpringBoot 项目模板-摆脱步步搭建
本文以一个简单的电商订单系统为例,源代码请访问: git clone https://github.com/e-commerce-sample/order-backendgit checkout a4 ...
- Java多进程多线程处理详解
在Java编程中,多进程和多线程是两种常见的并发编程技术,用于提高程序的执行效率和响应速度.本文将详细介绍Java中的多进程和多线程处理,包括理论概述和代码示例.通过本文,你将了解如何在Java中实现 ...
- FTP、SFTP、TFTP,文件传输协议怎么选?
转载:FTP.SFTP.TFTP,文件传输协议怎么选? FTP FTP(File Transfer Protocol,文件传输协议)是用于在计算机网络中传输文件的标准协议.FTP是一种客户端/服务器协 ...
- 《SpringBoot》EasyExcel实现百万数据的导入导出
24年11月6日消息,阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布,将停止更新,未来将逐步进入维护模式,将继续修复Bug,但不再主动新增功能. EasyExcel 是一款知名的 ...
- 一文搞懂 结构伪类 :nth-child && :nth-of-typ
结构伪类 从使用结构伪类的选择器开始 往上一层父辈开始筛选 从使用结构伪类的选择器开始 往上一层父辈开始筛选 从使用结构伪类的选择器开始 往上一层父辈开始筛选 不是从左往右选择 不是先父辈后筛选子类 ...
- GD32F103C8T6看门狗
GD32F10x看门狗 两个看门狗设备(独立看门狗IWDG和窗口看门狗WWDG)可用来检测和解决由软件错误引起的故障: 当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位. ...
- RocketMQ实战—4.消息零丢失的方案
大纲 1.全链路分析为什么用户支付完成后却没有收到红包 2.RocketMQ的事务消息机制实现发送消息零丢失 3.RocketMQ事务消息机制的底层实现原理 4.是否可以通过同步重试方案来代替事务消息 ...
- Django setting可以配置什么?
Setting配置信息 注册子应用 # 注意:需要修改Django的全局配置文`settings.py`'''1. 创建子应用 1)在pycharm中创建 python manage.py start ...
- 1 使用ollama完成DeepSeek本地部署
1 ollama 1.1 什么是ollama ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者.研究人员和爱好者能够 ...
- 2. MySQL的数据目录(详解讲解)
2. MySQL的数据目录(详解讲解) @ 目录 2. MySQL的数据目录(详解讲解) 1. MySQL8 的主要目录结构 1.1 相关命令目录 1.2 配置文件目录 2. 数据库和文件系统的关系 ...