CSS 值和单位详解:从基础到实战

CSS 值和单位详解:从基础到实战

    • 1. 什么是 CSS 的值?
      • 示例代码:使用颜色关键字和 RGB 函数
    • 2. 数字、长度和百分比
      • 2.1 长度单位
        • 绝对长度单位
        • 相对长度单位
      • 2.2 百分比
    • 3. 颜色
      • 3.1 颜色关键字
      • 3.2 十六进制 RGB 值
      • 3.3 RGB 和 RGBA 值
      • 3.4 HSL 和 HSLA 值
    • 4. 图像
      • 4.1 使用图像
      • 4.2 使用渐变
    • 5. 位置
    • 6. 字符串和标识符
    • 7. 函数
      • 7.1 使用 `calc()` 函数
    • 8. 总结
      • 完整示例代码

在 CSS 中,每个属性都允许使用一个或一组值。理解这些值和单位的使用方式,是掌握 CSS 的关键之一。本文将详细介绍 CSS 中常见的值和单位类型,并通过示例代码帮助你更好地理解它们的用法。

1. 什么是 CSS 的值?

在 CSS 规范和 MDN 的属性页面上,你会看到值通常被尖括号包围,例如 <color><length>。这些值表示你可以为该属性使用的有效数据类型。例如,<color> 表示你可以使用任何有效的颜色值,如颜色关键字、十六进制值、RGB 值等。

示例代码:使用颜色关键字和 RGB 函数

h1 {color: black;background-color: rgb(197, 93, 161);
}

在这个例子中,我们使用关键字 black 设置标题的颜色,并使用 rgb() 函数设置背景颜色。

2. 数字、长度和百分比

CSS 中有多种数值数据类型,包括整数、小数、带单位的数值和百分比。

2.1 长度单位

长度单位分为绝对长度单位相对长度单位

绝对长度单位

绝对长度单位是固定的,不随其他因素变化。常见的绝对长度单位包括:

  • cm:厘米
  • mm:毫米
  • in:英寸
  • px:像素
.box {width: 200px; /* 使用像素单位 */
}
相对长度单位

相对长度单位是相对于其他元素的尺寸。常见的相对长度单位包括:

  • em:相对于当前元素的字体大小
  • rem:相对于根元素的字体大小
  • vw:相对于视口宽度的百分比
  • vh:相对于视口高度的百分比
.box {width: 10vw; /* 视口宽度的 10% */font-size: 1.5em; /* 当前字体大小的 1.5 倍 */
}

2.2 百分比

百分比单位是相对于父元素的尺寸。例如,设置宽度为 50% 表示元素宽度为父元素宽度的一半。

.box {width: 50%; /* 父元素宽度的 50% */
}

3. 颜色

CSS 中有多种方式表示颜色,包括颜色关键字、十六进制值、RGB 和 HSL 值。

3.1 颜色关键字

CSS 提供了许多预定义的颜色关键字,如 redbluegreen 等。

.box {background-color: antiquewhite;
}

3.2 十六进制 RGB 值

十六进制颜色值由 # 开头,后跟六个十六进制数字,表示红、绿、蓝三个通道的值。

.box {background-color: #02798b;
}

3.3 RGB 和 RGBA 值

RGB 值使用 rgb() 函数表示,RGBA 值增加了透明度通道。

.box {background-color: rgb(2, 121, 139);background-color: rgba(2, 121, 139, 0.5); /* 50% 透明度 */
}

3.4 HSL 和 HSLA 值

HSL 值使用 hsl() 函数表示,HSLA 值增加了透明度通道。

.box {background-color: hsl(188, 97%, 28%);background-color: hsla(188, 97%, 28%, 0.5); /* 50% 透明度 */
}

4. 图像

CSS 中的 <image> 数据类型用于表示图像或渐变。

4.1 使用图像

.box {background-image: url('path/to/image.png');
}

4.2 使用渐变

.box {background-image: linear-gradient(90deg, rgb(119, 0, 255), rgb(0, 212, 255));
}

5. 位置

<position> 数据类型用于定位元素,如背景图像的位置。

.box {background-position: right 40px; /* 距离右侧 40px */
}

6. 字符串和标识符

CSS 中的字符串通常用于生成内容,而标识符是 CSS 能理解的特殊值,如颜色关键字。

.box::after {content: "这是个字符串。";
}

7. 函数

CSS 中的函数用于执行计算或生成值。常见的函数包括 calc()rgb()hsl() 等。

7.1 使用 calc() 函数

.box {width: calc(20% + 100px); /* 计算宽度 */
}

8. 总结

本文介绍了 CSS 中常见的值和单位类型,包括长度、百分比、颜色、图像、位置、字符串和函数。通过示例代码,你可以更好地理解这些值的用法。掌握这些基础知识后,你可以更灵活地使用 CSS 来设计和布局网页。

完整示例代码

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS 值和单位示例</title><style>.box {padding: 10px;margin: 20px;border-radius: 0.5em;border: 2px solid #000;}.color-box {background-color: antiquewhite;}.gradient-box {background-image: linear-gradient(90deg, rgb(119, 0, 255), rgb(0, 212, 255));}.position-box {background-image: url('path/to/image.png');background-position: right 40px;}.calc-box {width: calc(20% + 100px);}</style>
</head>
<body><div class="box color-box">颜色关键字示例</div><div class="box gradient-box">渐变示例</div><div class="box position-box">背景位置示例</div><div class="box calc-box">calc() 函数示例</div>
</body>
</html>

通过本文的学习,你应该对 CSS 中的值和单位有了更深入的理解。继续实践和探索,你将能够更熟练地使用 CSS 来创建精美的网页设计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/12576.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

传输层协议——TCP协议

文章目录 &#x1f34d;TCP协议谈谈可靠性TCP协议格式序号与确认序号窗口大小六个标志位 确认应答机制&#xff08;ACK&#xff09;超时重传机制连接管理机制三次握手四次挥手 流量控制滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP小结基于TCP的应用层协…

pycharm(2)

conda 我下载安装conda的时候产生了各种问题&#xff0c;最终我发现&#xff0c;打开杀毒软件会有阻碍 cuda的版本问题很大&#xff0c;我尝试多个版本之后&#xff0c;发现anaconda3-2024.06.1-windows-x86_64安装了之后不会报错&#xff0c;另外pycharm的版本也一直有问题&a…

python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法

回溯算法 「所有可能的结果」&#xff0c;而不是「结果的个数」&#xff0c;一般情况下&#xff0c;我们就知道需要暴力搜索所有的可行解了&#xff0c;可以用「回溯法」。 回溯算法关键在于:不合适就退回上一步。在回溯算法中&#xff0c;递归用于深入到所有可能的分支&…

【PyQt】pyqt小案例实现简易文本编辑器

pyqt小案例实现简易文本编辑器 分析 实现了一个简单的文本编辑器&#xff0c;使用PyQt5框架构建。以下是代码的主要功能和特点&#xff1a; 主窗口类 (MyWindow): 继承自 QWidget 类。使用 .ui 文件加载用户界面布局。设置窗口标题、状态栏消息等。创建菜单栏及其子菜单项&…

鼠标拖尾特效

文章目录 鼠标拖尾特效一、引言二、实现原理1、监听鼠标移动事件2、生成拖尾元素3、控制元素生命周期 三、代码实现四、使用示例五、总结 鼠标拖尾特效 一、引言 鼠标拖尾特效是一种非常酷炫的前端交互效果&#xff0c;能够为网页增添独特的视觉体验。它通常通过JavaScript和C…

Node.js与嵌入式开发:打破界限的创新结合

文章目录 一、Node.js的本质与核心优势1.1 什么是Node.js&#xff1f;1.2 嵌入式开发的范式转变 二、Node.js与嵌入式结合的四大技术路径2.1 硬件交互层2.2 物联网协议栈2.3 边缘计算架构2.4 轻量化运行时方案 三、实战案例&#xff1a;智能农业监测系统3.1 硬件配置3.2 软件架…

利用Vue和javascript分别编写一个“Hello World”的定时更新

目录 一、利用Vue编写一个“Hello World”的定时更新&#xff08;1&#xff09;vue编码在Html文件中&#xff08;2&#xff09;vue编码在js文件中 二、利用javascript编写一个“Hello World”的定时更新 一、利用Vue编写一个“Hello World”的定时更新 &#xff08;1&#xff…

排序算法--插入排序

插入排序是一种简单且稳定的排序算法&#xff0c;适合小规模数据或部分有序数据。 // 插入排序函数 void insertionSort(int arr[], int n) {for (int i 1; i < n; i) { // 从第二个元素开始int key arr[i]; // 当前需要插入的元素int j i - 1;// 将比 key 大的元素向后移…

跟李沐学AI:视频生成类论文精读(Movie Gen、HunyuanVideo)

Movie Gen&#xff1a;A Cast of Media Foundation Models 简介 Movie Gen是Meta公司提出的一系列内容生成模型&#xff0c;包含了 3.2.1 预训练数据 Movie Gen采用大约 100M 的视频-文本对和 1B 的图片-文本对进行预训练。 图片-文本对的预训练流程与Meta提出的 Emu: Enh…

CH340G上传程序到ESP8266-01(S)模块

文章目录 概要ESP8266模块外形尺寸模块原理图模块引脚功能 CH340G模块外形及其引脚模块引脚功能USB TO TTL引脚 程序上传接线Arduino IDE 安装ESP8266开发板Arduino IDE 开发板上传失败上传成功 正常工作 概要 使用USB TO TTL&#xff08;CH340G&#xff09;将Arduino将程序上传…

游戏引擎 Unity - Unity 下载与安装

Unity Unity 首次发布于 2005 年&#xff0c;属于 Unity Technologies Unity 使用的开发技术有&#xff1a;C# Unity 的适用平台&#xff1a;PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域&#xff1a;开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…

AIGC(生成式AI)试用 20 -- deepseek 初识

>> 基本概念 Ollama -- 运行大模型&#xff0c;管理运行AI大模型的工具&#xff0c;用来安装布置DeepSeek https://ollama.com/ , Get up and running with large language models. AnythingLLM -- 大模型增强应用&#xff0c;GUI大模型交互程序 Download AnythingLLM …

STM32 DMA+AD多通道

接线图 代码配置 ADC单次扫描DMA单次转运模式 uint16_t AD_Value[4]; //DMAAD多通道 void DMA_Config(void) {//定义结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量 ADC_InitTypeDef ADC_InitStructure; //定义ADC结构体变量 DMA_InitTypeDef DMA_In…

【Java】位图 布隆过滤器

位图 初识位图 位图, 实际上就是将二进制位作为哈希表的一个个哈希桶的数据结构, 由于二进制位只能表示 0 和 1, 因此通常用于表示数据是否存在. 如下图所示, 这个位图就用于标识 0 ~ 14 中有什么数字存在 可以看到, 我们这里相当于是把下标作为了 key-value 的一员. 但是这…

【工欲善其事】利用 DeepSeek 实现复杂 Git 操作:从原项目剥离出子版本树并同步到新的代码库中

文章目录 利用 DeepSeek 实现复杂 Git 操作1 背景介绍2 需求描述3 思路分析4 实现过程4.1 第一次需求确认4.2 第二次需求确认4.3 第三次需求确认4.4 V3 模型&#xff1a;中间结果的处理4.5 方案验证&#xff0c;首战告捷 5 总结复盘 利用 DeepSeek 实现复杂 Git 操作 1 背景介绍…

BGP路径属性

公认必遵循 BGP必须都能识别&#xff0c;且必须发送报文必须包含 Origin&#xff1a;起源属性&#xff0c;I,E,&#xff1f;三种&#xff0c;I是BGP通过IGP协议学到的路由&#xff08;比如ospf&#xff0c;isis&#xff0c;rip&#xff09;&#xff0c;E是从EGP协议学到的&am…

Vue 图片引用方式详解:静态资源与动态路径访问

目录 前言1. 引用 public/ 目录2. assets/ 目录3. 远程服务器4. Vue Router 动态访问5. 总结6. 扩展&#xff08;图片不显示&#xff09; 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 在 Vue 开发中&#x…

【网络编程】Java高并发IO模型深度指南:BIO、NIO、AIO核心解析与实战选型

​​ 目录 一、引言1.1 本文目标与适用场景1.2 什么是IO模型&#xff1f;阻塞 IO 模型非阻塞 IO 模型IO 多路复用模型信号驱动 IO 模型异步 IO 模型 二、基础概念解析2.1 IO模型的分类与核心思想IO模型的分类核心思想分类对比与选择依据技术示意图 2.2 同步 vs 异步 | 阻塞 vs…

基序和纯度分数的计算

以下对这两个概念的详细解释&#xff1a; 基序 纯度分数 PWM矩阵的来源 为什么会有PWM矩阵&#xff1f; 一个特定的转录因子&#xff08;TF&#xff09;的结合位点的基序&#xff08;motif&#xff09;并不是唯一的。实际上&#xff0c;TF结合位点通常具有一定的序列变异性&a…

算法日记11:SC63(离散化)

一、题目 二、题解 法一&#xff1a;前缀和&#xff08;会炸&#xff09; 对于这道题目&#xff0c;我们的第一个朴素想法就是用前缀和来进行简化操作&#xff0c;这个思路非常简单&#xff0c;就是前缀和的标准模板题&#xff0c;代码如下 void solve() {int n,q;cin>&g…