css中的各种颜色格式
zhezhongyun 2024-12-07 18:33 37 浏览
颜色对于 css 来说是非常重要的,网站之所以会呈现出五彩斑斓的样式,就是这些颜色样式起的作用。在 css 中,对于颜色样式有很多种表达方式,今天我们就来盘点下 css 中颜色的格式。
名字颜色
在 css 中,默认定义了很多名字颜色,比较常见的比如 yellow,blue,red,pink 等,实际上,css 中一共定义了 140 个颜色名字,这些名字你都可以直接拿来使用。虽然 140 种看起来很多,但是实际上它比 8bit 的颜色还要少,因此,平时我们很少使用它。
RGB
这是一种颜色格式,从名字我们就知道它是 red,green,blue 三种颜色的简写,我们都知道三原色原理,也就是通过三种基本颜色,我们就可以组合出其它的颜色出来,因此,rgb 就可以表示出我们可以看到的各种颜色。
在 css 中,red,green,blue 被称作三通道,每个通道的值是从 0-255,通过混合这些通道颜色,我们就可以创造出 1600 多万种颜色。需要注意的是 rgb(255,255,255,0.5) 允许我们有第四个参数,它的值从 0-1,用来表示透明度。
.translucent-box {
background: rgb(255 0 0 / 0.5);
}
Hex Codes
通过十六进制数字来表示颜色代码,6 位数字被分成了三组,每两位一组,一位是 16,两位就是 16*16=256,所以它其实和 RGB 基本是相同的,只不过它是用 16 进制进行表示。
它的三组也是代表着 red,green,blue,和 RGB 一样的是,它也可以指定透明度,也就是说我们可以使用 8 位十六进制来表示颜色。
.translucent-box {
background: #ffff0080;
}
HSL
和 RGB 不同的是,HSL 是通过指定色调,饱和度,亮度来表示颜色的。
在 HSL 中,我们的色调是在 0deg-360deg 之间,转一圈的大致颜色范围就是红橙黄绿青蓝紫,饱和度是在 0-100%之间,亮度是在 0%-100%之间。
HSL 是可以和 RGB 进行转换的,其中色调的转换公式比较复杂。
.translucent-box {
background-color: hsl(0deg 100% 2%);
}
P3
P3 是一个在继承 sRGB 色彩空间范围之外,又提供了更亮更充满活力的色彩范围,也就是说 P3 表示的色彩范围要更大。
因此,使用 P3 的时候,需要使用特殊的属性值 color 形式来表示,但是对于 color 这个属性,目前只有 safari 支持。
.translucent-box {
background: color(display-p3 1 0 0);
}
LCH
因为 HSL 对于不同颜色在表示亮度的时候给人的感觉是不同的,因此,人们发明了 LCH 用来更接近人眼感知的色彩表示方式。
LCH 代表 “亮度色相”。“色度”或多或少是“饱和度”的同义词。它在概念上与 HSL 非常相似,但有两个很大的区别:
- 如前所述,它优先考虑人类的感知,因此具有相同“亮度”值的两种颜色将感觉同样轻。
- 它不绑定到任何特定的颜色空间。
与我们看到的其他颜色格式不同,LCH 不受 sRGB 的约束。它甚至没有绑定到 P3!它通过对色度没有上限来实现这一点。
在 HSL 中,饱和度范围从 0%(无饱和)到 100%(完全饱和)。这是可能的,因为我们知道我们正在谈论 sRGB 色彩空间,一个有限的调色板。
但是 LCH 与特定的色彩空间无关,因此我们不知道饱和上限在哪里。它不是一成不变的:随着显示技术的不断改进,我们可以期待显示器达到越来越宽的色域。LCH 将自动能够通过调高色度来引用这些扩展的颜色。谈论面向未来!
.translucent-box {
background: lch(50% 120 20);
}
总结
CSS 是一种令人惊讶的难以掌握的语言。无论花了多少年练习,总会觉得有很多我不知道的东西。
就目前而言,在 LCH 没有被完全支持的情况下,HSL 也许更加适合表达。
所以说很多时候,当我们以为自己已经很熟悉或者掌握一门语言的时候,其实可能我们才仅仅是刚入门而已,任何知识当我们深入研究的时候我们都会发现我们对它的了解其实并不是真的很透彻。
- 上一篇:Web前端开发必不可少的9个开源框架
- 下一篇:CSS中常用的颜色格式
相关推荐
- Qt setAttribute设置窗口属性(qt设置窗口名字)
-
this->resize(500,400);this->setWindowTitle("主窗口");QLabel*label=newQLabel(...
- 利用Axure+js创建可配置地图页面(axure制作app界面)
-
编辑导语:如何利用Axure实现自定义地图展示?本篇文章里,作者结合Axure与高德地图,对如何在Axure中设置相应参数、进而预览时实现自定义地图展示效果的操作流程进行了示范和总结,一起来看一下。本...
- Excel如何获取所有类型的工作表,详细编程方法介绍
-
No.1Excel可以创建不同类型的工作表,编程中会遇到返回某一类型的工作或所有类型的工作表,对表进行操作,那么如何得到想要的工作表呢?下面介绍一个方法。首先要认识一下Sheets对象,它表示工作簿中...
- VBA中的常用单元格引用方式(vba中单元格的引用方法)
-
VBA编程经常和“对象”打交道,其中最频繁的对象大概就是“单元格”了。(听说您还没有对象?那……我想你大概需要一份Excel,包邮988……)今天我们就来聊一下单元格的各种引用方式,比如单个单元格、行...
- 强烈安利试试这个!效果爆炸的漫画变身AI,火到服务器几度挤爆
-
金磊丰色发自凹非寺量子位报道|公众号QbitAI“排队1241人,等待2600秒……”——这届网友为了看一眼自己在动漫里的样子,可真是拼了!“始作俑者”是一款可以把人像变动漫的生成器。只...
- 软网推荐:为窗口控制菜单添加扩展控制命令
-
当我们点击Windows标准窗口(如记事本、资源管理器等)左上角的窗口控制按钮时,会弹出一个含有窗口控制基本命令的菜单,其中包括移动、大小、最小化、最大化、关闭等窗口控制命令。如果我们觉得这些命令不能...
- 45、VBA字典去重,两种不同的方法在实战中的运用(VBA进阶)
-
1、在VBA字典去重的操作中,若程序仅需要使用key值,那么无论采用哪种方法都不会有问题;但如果需要获得对应的item值,就必须根据实际需求选择合适的方法了。学VBA要知其然而知其所以然,不能似懂非懂...
- Excel VBA学习笔记:合并单元格的相关操作
-
合并单元格,一个在工作中很常见的,但是是令写(工作表)公式和VBA代码的人都很不喜欢的东东,今天来讲讲与它相关的操作语法。1、Range("A1:B2").Merge;合并A1到B2单...
- 软网推荐:图片编辑 小而不凡(秽的读法)
-
说起图片编辑小工具,咱手边就有个“画图”软件。但是,这个工具比较简单,对于处理透明背景、应用滤镜效果、添加边框、做拼接图和全景照、图层操作等,就无能为力了。同样是小软件,PhotoPad就能满足上述需...
- Android弹软键盘时之ListView的变化控制
-
前几天有个人问我,说在最底下有个输入框,弹出键盘时整个界面都一起跟着移动,上面的标题栏都移到上面看不到了,界面非常难看。其实这种问题一般存在于这样的界面布局中那就是,上面是标题栏,中间是Listvie...
- 如何将数组值传递到工作表中(怎么传数组)
-
【分享成果,随喜正能量】不与别人盲目攀比,自己就会悠然自得;不把人生目标定得太高,自己就会欢乐常在;不刻意追求完美,自己就会远离痛苦;不是时时苛求自己,自己就会活的自在;不每每吹毛求疵,自己就会轻轻松...
- 【VBA入门必备】Offset和Resize这样用,工作效率翻3倍!
-
大家好!今天共同学习下VBA中单元格属性Offset和Resize操作。一、Offset:单元格的"导航仪"功能说明:以当前单元格为坐标原点,灵活跳转位置语法格式:单元格.Offset...
- 50道阿里巴巴MySql经典面试题(附答案)
-
1、MySQL中有哪几种锁?1、表级锁:开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突的概率最高,并发度最低。2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度...
- 如何在Vue3项目中集成ESLint+Prettier+Stylelint+Husky?
-
随着前端工程化的发展,前端代码规范也显得越来越重要,所以作为一个前端对于这方面还是需要有一定的了解的。本篇文章将带大家使用ESLint+Prettier+Stylelint+Husky从零搭建一个Vi...
- SpringBoot 中 Json 格式化配置(springboot json转对象)
-
SpringBoot针对jackson是自动化配置的,如果需要修改,也可以自定义配置。0x01:通过application.yml配置属性说明:spring.jackson.date-form...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)
- opacity 属性 (32)