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步…...
线性代数小白必看:孔祥仁网课笔记整理(附二阶到n阶行列式详解)
线性代数入门:从二阶行列式到n阶行列式的完整指南 第一次接触线性代数时,行列式这个概念就像一堵高墙挡在面前。记得我大一时,光是理解二阶行列式的几何意义就花了整整一周时间。直到后来遇到一位好老师,用简单的例子帮我打通了任…...
百川2-13B-4bits模型商用指南:OpenClaw自动化服务合规部署要点
百川2-13B-4bits模型商用指南:OpenClaw自动化服务合规部署要点 1. 商用授权与合规基础 百川2-13B-4bits模型作为国内少数明确开放商用申请的大语言模型,其授权体系与常见的开源协议有本质区别。我在实际部署过程中发现,很多开发者容易忽略一…...
BepInEx:Unity游戏插件框架的模块化解决方案
BepInEx:Unity游戏插件框架的模块化解决方案 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是一款针对Unity游戏的插件框架,提供模块化的插件管理与…...
别再傻傻下载Gurobi软件了!Anaconda虚拟环境里一条conda命令搞定学术版安装(Win11实测)
颠覆认知的Gurobi安装指南:一条conda命令解锁学术版完整功能 每次看到同行们花半小时下载几个GB的Gurobi安装包,我就忍不住想分享这个被多数人忽略的高效方案。作为在运筹优化领域深耕多年的研究者,我发现90%的学术用户根本不需要走传统安装…...
基于MATLAB的图像加密解密系统 可以正确无误的对图像进行加密和解密 带GUI界面
基于MATLAB的图像加密解密系统 可以正确无误的对图像进行加密和解密 带GUI界面,一步一步完整运行你是否有过这样的疑问——如何让一张普通图片变成外星密文?在MATLAB里玩转图像加密真的可以像搭积木一样简单。今天咱们就来捣鼓一个带界面的图像加密系统&…...
RVC与VITS技术对比:检索式vs端到端语音转换的适用场景分析
RVC与VITS技术对比:检索式vs端到端语音转换的适用场景分析 1. 引言 你有没有想过,为什么有些AI翻唱听起来特别像原唱,而有些则感觉“味儿”不太对?或者,为什么有些语音转换工具训练起来飞快,但效果时好时…...
Alibaba DASD-4B Thinking 对话工具应用:自动化软件测试用例生成与评审
Alibaba DASD-4B Thinking 对话工具应用:自动化软件测试用例生成与评审 每次新版本上线前,测试团队是不是都忙得焦头烂额?产品需求文档改了又改,测试用例也得跟着一遍遍更新,手动编写不仅耗时,还容易遗漏边…...
GPU友好型部署!Nanbeige 4.1-3B Streamlit WebUI显存优化实测教程
GPU友好型部署!Nanbeige 4.1-3B Streamlit WebUI显存优化实测教程 想在自己的电脑上跑一个好看又好用的AI对话应用,是不是总被复杂的部署步骤和巨大的显存占用劝退?今天,我就带你实测一个专为Nanbeige 4.1-3B模型打造的Streamlit…...
AtlasOS终极指南:专业解决Windows安装错误2502/2503的完整方案
AtlasOS终极指南:专业解决Windows安装错误2502/2503的完整方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trendi…...
麒麟V10 x86_64系统下Qt 5.12.7安装全攻略(附常见报错解决方案)
麒麟V10 x86_64系统Qt 5.12.7深度安装指南与疑难攻坚 国产操作系统生态的崛起让越来越多的开发者开始关注麒麟平台。作为一款基于Linux的国产操作系统,麒麟V10在x86_64架构下的表现尤为出色。本文将带你全面掌握Qt 5.12.7在麒麟V10 x86_64系统上的安装与配置技巧&am…...
