🎨一文掌握所有 CSS 函数:分类 + 用法 + 示例(收藏级)

461 阅读3分钟

CSS 中的函数并非传统意义上的编程函数,而是一些用于 计算、颜色生成、路径控制、动态调整值等 的表达结构。合理运用这些函数,可以极大地增强样式的灵活性和响应性。

本文将从功能分类出发,系统梳理 CSS 所有主流函数及其用法。


🎨 颜色相关函数

1. rgb() / rgba()

用于生成红绿蓝三原色混合的颜色。

color: rgb(255, 0, 0);        /* 红色 */
color: rgba(0, 0, 255, 0.5);  /* 半透明蓝色 */

2. hsl() / hsla()

HSL 表示色相(Hue)、饱和度(Saturation)、亮度(Lightness)。

color: hsl(120, 100%, 50%);         /* 纯绿 */
color: hsla(120, 100%, 50%, 0.3);   /* 30% 透明的绿 */

3. color-mix()

将两种颜色按比例混合,仅现代浏览器支持(Chrome 111+)。

color: color-mix(in srgb, red 40%, blue 60%);

📏 尺寸与计算函数

4. calc()

允许在 CSS 中进行基本运算。

width: calc(100% - 20px);
padding: calc(1rem + 10px);

5. min() / max() / clamp()

用于设置动态的最小值、最大值或限制值范围。

font-size: min(3vw, 20px);
width: max(300px, 50%);
font-size: clamp(14px, 2vw, 24px);

🎬 动画相关函数

6. cubic-bezier()

自定义缓动曲线,控制动画速度。

transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);

7. steps()

定义帧动画步进数。

animation-timing-function: steps(5, end);

📦 资源路径函数

8. url()

加载外部资源如图片、字体等。

background-image: url('/images/banner.jpg');
@font-face {
  font-family: 'MyFont';
  src: url('myfont.woff2');
}

🌀 变换函数

9. rotate() / scale() / translate()

transform 属性中使用,实现二维或三维变换。

transform: rotate(30deg) scale(1.5) translateX(10px);

10. matrix() / matrix3d()

低级变换控制函数,控制矩阵变换。

transform: matrix(1, 0, 0, 1, 100, 100);

✂️ 裁剪函数(Clip Path)

11. circle() / ellipse() / polygon()

用于裁剪元素形状。

clip-path: circle(50% at center);
clip-path: ellipse(60% 40% at center);
clip-path: polygon(50% 0%, 100% 100%, 0% 100%);

🧬 变量和属性提取

12. var()

调用 CSS 变量。

:root {
  --main-color: #ff6600;
}
div {
  color: var(--main-color);
}

13. attr()(实验性)

从 HTML 属性中提取内容,常用于伪元素。

[data-label]:before {
  content: attr(data-label);
}

🔧 滤镜函数

14. 图像滤镜函数:blur()brightness()contrast()

用于图像视觉效果调整。

filter: blur(4px) brightness(1.2);

📱 安全区域与系统变量函数

15. env() / constant()

用于读取设备的环境变量,常见于 iPhone 刘海屏。

padding-top: env(safe-area-inset-top);

constant() 是旧版本写法,不推荐。


🧪 非主流函数(了解即可)

16. element()(仅 Firefox 支持)

将 HTML 元素作为图像资源。

background-image: element(#myDiv);

✅ 小结:一图总览 CSS 函数

分类函数示例用途
颜色rgb() hsl() color-mix()颜色混合与透明控制
尺寸计算calc() min() max() clamp()响应式计算与动态布局
动画cubic-bezier() steps()控制动画速率和帧
路径资源url()加载图片、字体等资源
变换rotate() matrix()实现旋转、缩放、位移等变形
裁剪clip-path: circle()裁剪元素形状
变量调用var() attr()使用变量、提取 HTML 属性
滤镜blur() contrast()图像视觉效果
环境适配env()设备安全区域适配
特殊函数element()使用 DOM 元素当作图像

如果你正在编写组件库、实现响应式布局或追求高级动效,CSS 函数将是你不可缺少的利器。