HOW - CSS 定义颜色值
目录
- 1. 十六进制颜色 (Hexadecimal Color)
- 2. RGB 颜色 (RGB Color)
- 3. HSL 颜色 (HSL Color)
- HSL 颜色模式
- 示例
- 4. 预定义颜色名 (Named Colors)
- 5. LCH 颜色 (LCH Color)
- 6. Lab 颜色 (Lab Color)
- 7. HWB 颜色 (HWB Color)
- 8. CSS 颜色函数 (Color Function)
- 9. CSS4 颜色模块中的其他函数
- 示例总结
CSS 支持多种方式定义颜色值。以下是常用的几种颜色定义方式:
1. 十六进制颜色 (Hexadecimal Color)
使用十六进制表示红、绿、蓝三原色。
-
简写形式(如果每个颜色分量是两个相同的字符):
color: #f00; /* 红色 */ -
完整形式:
color: #ff0000; /* 红色 */
2. RGB 颜色 (RGB Color)
使用 rgb() 函数,定义红、绿、蓝三个分量的颜色,范围从 0 到 255。
-
不透明的 RGB:
color: rgb(255, 0, 0); /* 红色 */ -
透明的 RGBA:
color: rgba(255, 0, 0, 0.5); /* 50% 透明的红色 */
3. HSL 颜色 (HSL Color)
使用 hsl() 函数,定义色调、饱和度和亮度。
-
不透明的 HSL:
color: hsl(0, 100%, 50%); /* 红色 */ -
透明的 HSLA:
color: hsla(0, 100%, 50%, 0.5); /* 50% 透明的红色 */
hsl 是一种颜色表示方式,表示色调 (Hue)、饱和度 (Saturation) 和亮度 (Lightness)。与传统的 RGB 颜色表示方式不同,HSL 更接近人类对颜色的感知方式。
HSL 颜色模式
HSL 是一种基于色相、饱和度和亮度来表示颜色的模式:
-
Hue (色调): 色调是指颜色的种类,表示为 0 到 360 之间的角度值。例如:
- 0° 是红色
- 120° 是绿色
- 240° 是蓝色
-
Saturation (饱和度): 饱和度表示颜色的鲜艳程度,范围从 0% 到 100%。0% 是灰色,100% 是全色。
-
Lightness (亮度): 亮度表示颜色的明暗程度,范围从 0% 到 100%。0% 是黑色,100% 是白色。
示例
例如,HSL 值为 hsl(240, 100%, 50%) 表示的是一个纯蓝色,色调为 240°,饱和度为 100%,亮度为 50%。
4. 预定义颜色名 (Named Colors)
使用 CSS 提供的预定义颜色名。
- 示例:
color: red; /* 红色 */ color: blue; /* 蓝色 */ color: lightgray; /* 浅灰色 */
5. LCH 颜色 (LCH Color)
使用 lch() 函数,定义亮度(Lightness)、色度(Chroma)和色调(Hue)。
- 示例:
color: lch(50% 100 0); /* 大致为红色 */
6. Lab 颜色 (Lab Color)
使用 lab() 函数,定义亮度(Lightness)、a(从绿色到红色轴)和 b(从蓝色到黄色轴)。
- 示例:
color: lab(50% 50 0); /* 大致为蓝色 */
7. HWB 颜色 (HWB Color)
使用 hwb() 函数,定义色调(Hue)、白色量(Whiteness)和黑色量(Blackness)。
- 示例:
color: hwb(0 0% 0%); /* 红色 */ color: hwb(240 0% 0%); /* 蓝色 */
8. CSS 颜色函数 (Color Function)
使用 color() 函数可以定义多种颜色空间的颜色,通常用于更高级的颜色操作和定义。
- 示例:
color: color(display-p3 1 0 0); /* 使用 Display-P3 色彩空间 */
9. CSS4 颜色模块中的其他函数
CSS4 颜色模块引入了更多颜色定义方法,如 oklch() 和 oklab(),这些方法正在得到越来越多的支持。
- 示例:
color: oklch(0.5 0.2 0.2); /* 使用 OKLCH 颜色空间 */
示例总结
综合利用这些颜色定义方式,可以根据项目需求选择最合适的颜色表示方法。例如:
/* 十六进制颜色 */
color: #3498db;/* RGB 颜色 */
color: rgb(52, 152, 219);/* HSL 颜色 */
color: hsl(204, 70%, 53%);/* 预定义颜色名 */
color: steelblue;/* 透明的 RGBA 颜色 */
color: rgba(52, 152, 219, 0.5);/* LCH 颜色 */
color: lch(67.5345% 0.2372 264.6053);/* Lab 颜色 */
color: lab(67.5345% -24.2038 -44.5822);/* HWB 颜色 */
color: hwb(204 0% 0%);/* CSS4 颜色模块 */
color: color(display-p3 0.2 0.6 0.8);
每种方法都有其优势和适用场景,可以根据具体需求选择合适的方法来定义颜色。
相关文章:
HOW - CSS 定义颜色值
目录 1. 十六进制颜色 (Hexadecimal Color)2. RGB 颜色 (RGB Color)3. HSL 颜色 (HSL Color)HSL 颜色模式示例 4. 预定义颜色名 (Named Colors)5. LCH 颜色 (LCH Color)6. Lab 颜色 (Lab Color)7. HWB 颜色 (HWB Color)8. CSS 颜色函数 (Color Function)9. CSS4 颜色模块中的其…...
Vue3 reactive原理(一)-代理对象及数组
Proxy 只能拦截对一个对象的基本操作(例如读取、设置属性值),而无法拦截复合操作(例如,obj.fun(),由两个基本操作组成,1)get到fun这个属性,2)函数调用)。 1 …...
基于联咏 NT98692芯片赋能边缘计算IP摄像机与XVR监控系统解决方案
联咏 NT98692 是一款新世代整合度极高的 SoC,具有高影像品质、低位元率、低功耗,针对 8Kp30 边缘运算 IP 摄影机与后端监控系统 XVR 应用。此 SoC 整合了 ARM Quad Cortex A73 CPU 核心、新一代 ISP 和 AI ISP、H.265/H.264 视讯压缩编解码器、DSP、高效…...
Python设计模式 - 工厂方法模式
定义 工厂方法模式是一种创建型设计模式,它定义一个创建对象的接口,让其子类来处理对象的创建,而不是直接实例化对象。 结构 抽象工厂(Factory):声明工厂方法,返回一个产品对象。具体工厂类都…...
学习记录:ESP32控制舵机 FREERTOS BLE
控制舵机 PWM信号 PWM信号是一种周期性变化的方波信号,它有两个关键参数: 周期(Period):一个完整的PWM信号的时间长度,通常用秒(s)或毫秒(ms)表示。占空比…...
react中的useState和Hook、副作用
react的组件分为类组件和函数组件,Hook 是一种特殊的函数,可以让你在函数组件中使用类组件中才有的一些特性。useState、useEffect、useReducer都是Hook。其中useState用于在函数组件中添加状态,useEffect用于在函数组件中执行副作用…...
Linux嵌入式学习——数据结构——线性表的链式结构
线性表的链式存储 解决顺序存储的缺点,插入和删除,动态存储问题。 特点: 线性表链式存储结构的特点是一组任意的存储单位存储线性表的数据元素,存储单元可以是连续的,也可以不连续。可以被存储在任意内存未被占…...
文本编辑 文本中的各种空格
参考资料 欧文の半角スペースは2種類ある!?无中断空格常见空格一览浅析什么是零宽度字符以及零宽度字符在实际中的应用场景空格象形字间隔无中断空格零宽间隔 目录 零. 各种空格在Notepad中的效果一. 半角空格二. 全角空格三. TAB空格四. 无中断空格4.1 定义4.2 H…...
Vue插槽 (Slots)详解
目录 前言基础插槽具名插槽作用域插槽默认插槽动态插槽名总结相关阅读 前言 Vue的插槽(Slots)是一个非常强大的特性,它允许你在组件的模板中嵌入父组件的内容。插槽使得组件之间的内容分发变得灵活,尤其在构建可复用组件时非常…...
Unity中有关Animation的一点笔记
也许更好的阅读体验 Animation Unity中Animation类并不是直接记载了和播放动画有关的信息,可以简单理解Animation为一个动画播放器,播放的具体内容就像卡带一样,当我们有了卡带后我们可以播放动画。 对应的则是编辑器中的组件 所以Anima…...
module federation模块联邦与微前端
module federation是什么 webpack5新增了module federation,module federation的作用,将每个构建(build)作为容器(这是一个概念),构建后的资源可以正常部署,同时还具备在运行时对外暴露其中的模块,这就意味着多个构建…...
日常开发记录分享——C#控件ToolTip实现分栏显示内容
文章目录 需求来源实现思路实施请看VCR等等别走,有优化 需求来源 需要在鼠标浮动到指定位置后提示出详细的信息,一开始使用的tooltip实现,但是里面的内容效果并不理想,需要有条理性,于是就想到能不能将展示的东西分列…...
Kettle下载安装
环境说明 虚拟机:Win7;MySql8.0 主机:Win11;JDK1.8;Kettle 9.4(Pentaho Data Integration 9.4)(下载方式见文末) 安装说明 【1】解压后运行Spoon.bat 【2】将jar包 复…...
最新版Golang pprof使用(引入、抓取、分析,图文结合)
最新版Golang pprof使用 🔥具体实践: Go调试神器pprof使用教程Golang线上内存爆掉问题排查(pprof) Github地址:https://github.com/ziyifast/ziyifast-code_instruction/tree/main/go-demo/go-pprof 引入pprof:import _ “net/http/pprof” …...
vue3学习记录1:emit的写法
emit是用于child组件向parent组件通信的工具,因为vue3的script可以设置为setup,写法同vue2有较大区别。 一、script setup - 直接写 <script lang"ts" setup>const emit defineEmits([close]);function handleClose() {emit(close);}…...
Visual Studio Code + vue快速安装配置Node.js+Vue+webpack+vscode
第一部分:Node.js 第一步:下载Node.js 方法1:链接 下载 | Node.js 中文网 (nodejs.cn) 方法2:百度网盘 链接:https://pan.baidu.com/s/1zIqu8H9rb_I1i-1OWD7swQ?pwdaurk 提取码:aurk --来自百度网盘…...
【Dart 教程系列第 49 篇】什么是策略设计模式?如何在 Dart 中使用策略设计模式
这是【Dart 教程系列第 49 篇】,如果觉得有用的话,欢迎关注专栏。 博文当前所用 Flutter SDK:3.22.1、Dart SDK:3.4.1 文章目录 一:什么是策略设计模式?二:为什么要使用策略设计模式࿱…...
BGP路由反射器
原理概述 缺省情况下,路由器从它的一个 IBGP对等体那里接收到的路由条目不会被该路由器再传递给其他IBGP对等体,这个原则称为BGP水平分割原则,该原则的根本作用是防止 AS内部的BGP路由环路。因此,在AS内部,一般需要每台…...
DolphinDB Web 端权限管理:可视化操作指南
在现代数据库管理中,高效和直观的权限管理对于用户的数据安全是至关重要的。过去 DolphinDB 用户需要依赖系统脚本来管理用户和权限,这对于缺乏技术背景的管理员来说既复杂又容易出错。 为了提升用户体验和操作效率,DolphinDB 目前在 Web 上…...
学习Vue2收藏这一篇就够了(如何创建Vue实例)
什么是Vue? Vue是什么:是一个用于构建用户界面的渐进式框架 什么是构建用户界面:基于数据动态渲染页面 什么是渐进式:循序渐进的学习 什么是框架:一整套完整的项目解决方案 创建Vue实例 核心步骤(4步…...
星穹铁道自动化解决方案:用March7thAssistant释放游戏时间价值
星穹铁道自动化解决方案:用March7thAssistant释放游戏时间价值 【免费下载链接】March7thAssistant 🎉 崩坏:星穹铁道全自动 Honkai Star Rail 🎉 项目地址: https://gitcode.com/gh_mirrors/ma/March7thAssistant 副标题&…...
避坑指南:Synopsys VCS工具安装中的5个常见错误及解决方案
Synopsys VCS工具安装避坑实战:从报错排查到环境调优 在芯片设计领域,Synopsys VCS作为业界标准的仿真工具,其安装过程却常常成为工程师们的"第一道门槛"。不同于简单的解压即用软件,VCS的安装涉及复杂的依赖关系、权限…...
告别Electron臃肿!用Tauri 2.0 + Rust打造你的第一个轻量级桌面应用(附完整项目结构解析)
从Electron到Tauri 2.0:用Rust重构现代桌面应用开发范式 当Electron应用体积膨胀到200MB起步时,我们不得不重新思考桌面开发的未来。Tauri 2.0的出现绝非偶然——这是前端开发者对性能与体验的集体觉醒。本文将带你深入这个基于Rust的轻量级框架…...
开源电子书工具:如何用鸿蒙系统打造专属个性化阅读空间
开源电子书工具:如何用鸿蒙系统打造专属个性化阅读空间 【免费下载链接】legado-Harmony 开源阅读鸿蒙版仓库 项目地址: https://gitcode.com/gh_mirrors/le/legado-Harmony 你是否曾因阅读应用充斥广告而烦躁?是否渴望完全掌控自己的阅读体验&am…...
基于Altera Cyclone4 FPGA-EP4CE15F17C8核心板的硬件设计实战(原理图+PCB+AD09工程)
1. 从零开始搭建FPGA核心板硬件系统 第一次接触FPGA核心板设计时,我被密密麻麻的引脚和复杂的电源系统搞得头晕眼花。直到用AD09完整走完EP4CE15F17C8核心板的设计流程,才发现硬件开发就像搭积木——只要掌握模块化思维,菜鸟也能做出专业级设…...
让ai成为你的vue开发搭档,用快马智能优化代码性能与结构
让AI成为你的Vue开发搭档,用快马智能优化代码性能与结构 最近在开发一个Vue3项目时,遇到了几个性能瓶颈问题。作为一个前端开发者,性能优化是绕不开的话题。幸运的是,借助AI辅助开发工具,这些问题都能得到更高效的解决…...
制造业生产管理应用搭建指南:轻流无代码平台完整实施流程——生产效率提升 300% 方法论
制造业生产管理应用搭建指南:轻流无代码平台完整实施流程——生产效率提升 300% 方法论制造业生产管理应用搭建指南:轻流无代码平台完整实施流程——生产效率提升 300% 方法论引言:背景与重要性工信部《智能制造发展规划》明确提出࿰…...
突破远程桌面限制:RDP Wrapper实现多用户并发连接的创新解决方案
突破远程桌面限制:RDP Wrapper实现多用户并发连接的创新解决方案 【免费下载链接】rdpwrap RDP Wrapper Library 项目地址: https://gitcode.com/gh_mirrors/rd/rdpwrap 副标题:适用于Windows Vista至Windows 11全版本的远程桌面功能扩展工具 在…...
Spring Boot实战:5分钟搞定CORS跨域配置(含@CrossOrigin详解)
Spring Boot实战:5分钟搞定CORS跨域配置(含CrossOrigin详解) 现代Web开发中,前后端分离架构已成为主流选择。这种架构下,前端应用运行在一个域名下,而后端API服务则部署在另一个域名。当浏览器尝试从前端向…...
brpc连接池动态调整算法:基于排队理论的设计与实现
brpc连接池动态调整算法:基于排队理论的设计与实现 【免费下载链接】brpc brpc is an Industrial-grade RPC framework using C Language, which is often used in high performance system such as Search, Storage, Machine learning, Advertisement, Recommendat…...
