CSS 核心基础 —— 长度单位、颜色表示与字体样式

一、CSS 长度单位

CSS 中的长度单位分为 绝对单位相对单位,实际开发中相对单位使用更为频繁,因为能更好地适配不同设备和布局。

1. 绝对单位

绝对单位的尺寸一旦设定,不会随其他因素改变。常见的绝对单位有 px(像素)、in(英寸)、cm(厘米)等。

  • px(像素) :也叫 CSS 像素 / 程序员像素,是前端开发中最常用的绝对单位。
    • 在 PC 端,1 个 CSS 像素 ≈ 1 个物理像素,对应屏幕上一个 1*1 的发光小方块。
    • 像素可以通过放大屏幕观测到,放大到一定程度会出现锯齿感。

2. 相对单位

相对单位的尺寸会随参考元素的变化而变化,适配性更强,常用于响应式布局。

单位 参考对象 核心特点
%(百分比) 父元素的对应属性值 父元素宽高变化时,子元素会同步按比例变化,适合流式布局
em 当前元素的 font-size 1em = 当前元素的 1 个 font-size;若当前元素未设置 font-size,则继承祖先元素的 font-size,最终默认继承根元素(html)的 16px
rem 根元素(html)的 font-size 1rem = 根元素的 1 个 font-size,不受当前元素和父元素字体大小影响,是响应式布局的常用单位
vw 视口宽度 1vw = 视口宽度的 1%,100vw 等于整个视口宽度
vh 视口高度 1vh = 视口高度的 1%,100vh 等于整个视口高度

注意:vwvh 的参考对象是设备视口,而非父元素,在移动端适配中尤为实用。

二、CSS 颜色表示方法

CSS 提供了多种颜色表示方式,满足不同开发场景的需求,核心原理均基于 RGB 颜色模型(红、绿、蓝三原色混合)。

1. 颜色单词表示

直接使用颜色的英文单词,如 redyellowblueorange 等。

  • 优点:语法简单,直观易懂。
  • 缺点:颜色种类有限,无法表示复杂颜色,实际开发中很少使用。
  • 示例代码
css 复制代码
div {
    background-color: red;
}

2. RGB 表示法

通过 rgb(红, 绿, 蓝) 定义颜色,三个参数的取值范围均为 0-255(0 表示无该颜色,255 表示该颜色最强)。

  • 使用技巧:可以通过系统截图工具的取色器获取目标颜色的 RGB 值,直接复制使用。
  • 示例代码
css 复制代码
p {
    /* 纯红色:红255,绿0,蓝0 */
    background-color: rgb(255, 0, 0);
}

3. RGBA 表示法

在 RGB 的基础上增加了 透明度参数 alpha ,语法为 rgba(红, 绿, 蓝, alpha)

  • alpha 取值范围:0-1,0 表示完全透明,1 表示完全不透明,0.5 表示半透明。
  • 示例代码
css 复制代码
h1 {
    /* 半透明蓝色 */
    color: rgba(0, 0, 255, 0.5);
}

4. 十六进制 RGB 表示法

这是开发中最常用的颜色表示方式,语法为 #RRGGBB,原理和 RGB 一致,只是将 0-255 的十进制数转换为 00-FF 的十六进制数。

  • 简化规则 :如果颜色值的每两位都相同,可以简写为 3 位。例如 #ff0000 可简写为 #f00
  • 常用简写颜色#f00(红)、#00f(蓝)、#0f0(绿)、#ccc(浅灰)、#333(深灰)、#000(黑)、#fff(白)。
  • 示例代码
css 复制代码
span {
    /* 简写的纯绿色 */
    color: #0f0;
}

5. HSL/HSLA 表示法

  • HSL:语法为 hsl(色相, 饱和度, 明度),色相取值 0-360,饱和度和明度取值 0%-100%
  • HSLA:在 HSL 基础上增加透明度参数,语法为 hsla(色相, 饱和度, 明度, alpha)
  • 适用场景:适合需要精细调整颜色明暗、饱和度的场景。

三、CSS 字体样式

字体样式是页面排版的核心,常用属性包括 colorfont-sizefont-family,还可以通过 @font-face 引入自定义字体。

1. 核心字体属性

属性 作用 取值说明
color 设置字体颜色 支持所有 CSS 颜色表示方式
font-size 设置字体大小 支持 pxemrem 等单位,默认继承父元素
font-family 设置字体类型 可以指定具体字体名(如 Microsoft YaHei)或字体大类

2. 字体五大分类

CSS 将字体分为 5 个大类,当指定具体字体不存在时,浏览器会自动选择大类中的字体兜底,通常作为 font-family 的最后一个值。

  • serif:衬线字体(如 Times New Roman),笔画末端有装饰性线条。
  • sans-serif:非衬线字体(如 Arial、微软雅黑),笔画简洁,适合屏幕显示。
  • monospace:等宽字体,每个字符宽度相同,常用于代码展示。
  • cursive:草书字体,模拟手写效果。
  • fantasy:虚幻字体,装饰性强,适合标题。

示例代码

css 复制代码
p {
    /* 优先使用微软雅黑,无则使用非衬线字体兜底 */
    font-family: "Microsoft YaHei", sans-serif;
    font-size: 16px;
    color: #333;
}

3. 引入自定义字体:@font-face

当系统默认字体无法满足需求时,可以通过 @font-face 引入自定义字体文件(如 ttfwoff 格式),步骤如下:

  1. 定义自定义字体 :通过 @font-face 指定字体名和字体文件路径。
  2. 使用自定义字体 :在 font-family 中引用定义的字体名。

示例代码

css 复制代码
/* 定义自定义字体 */
@font-face {
    /* 自定义字体名 */
    font-family: "MyCustomFont";
    /* 字体文件路径(可从字体天下等网站下载) */
    src: url("./fonts/MyCustomFont.ttf") format("truetype");
}

/* 使用自定义字体 */
h2 {
    font-family: "MyCustomFont", serif;
}

四、自加技巧

  1. 快速生成测试文本 :在 VS Code 中输入 lorem + 数字(如 lorem5),可快速生成指定数量的英文测试单词。
  2. 取色器使用 :Windows 按 Win + Shift + S 打开截图工具,移动鼠标即可查看目标颜色的 RGB / 十六进制值。

总结

本文详细讲解了 CSS 长度单位、颜色表示和字体样式三大核心基础,这些知识点是前端页面样式设计的基石。掌握相对单位的灵活运用、颜色的精准表示和字体的合理排版,能够帮助我们开发出更美观、更适配的页面。

相关推荐
To_OC5 小时前
别再串行写 await 了,Promise.all 才是并行请求的正确打开方式
前端·javascript·promise
vipbic6 小时前
中后台越做越乱后,我用插件化把它救回来了
前端·vue.js
Hyyy6 小时前
Computer Use 适合做什么,不适合做什么——一次真实使用后的思考
前端
小和尚同志6 小时前
前端 AI 单元测试思考与落地
前端·人工智能·aigc
invicinble7 小时前
c端系统,其实更像一个信息展示平台
前端
李姆斯8 小时前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜9 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司9 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能
kaiking_g9 小时前
vue项目中,静态导入 vs 动态导入 详解
前端·javascript·vue.js
江华森10 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http