Glittering's blog Glittering's blog
Home
  • 学习手册

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • CSS
  • 技术文档
  • 算法
  • 工作总结
  • 实用技巧
  • collect
About
  • Classification
  • Label
GitHub (opens new window)

Glitz Ma

前端开发工程师
Home
  • 学习手册

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • CSS
  • 技术文档
  • 算法
  • 工作总结
  • 实用技巧
  • collect
About
  • Classification
  • Label
GitHub (opens new window)
  • CSS

    • CSS教程和技巧收藏
    • css块元素和行内元素
    • 盒子模型
    • BFC和IFC
    • 字体font-weight相关知识
    • CSS-function汇总
      • 介绍
      • 一、数值与单位计算函数(计算类)
        • 1️⃣ `calc()`
        • 2️⃣ `min()` / `max()` / `clamp()`
      • 二、颜色与渐变函数
        • 1️⃣ `rgb()` / `rgba()`
        • 2️⃣ `hsl()` / `hsla()`
        • 3️⃣ `color-mix()`
        • 4️⃣ 渐变函数
      • 三、变形与动画函数(Transform类)
      • 四、滤镜函数(Filter类)
      • 五、图像与资源函数
      • 六、自定义属性与变量函数
      • 七、字符串与计数函数
      • 八、形状与裁剪函数(Shape / Clip-path)
      • 九、背景与遮罩函数
      • 十、时间与步骤函数(动画函数)
      • 🔍 面试常问总结
    • CSS3之has函数的使用
    • CSS3之transition过渡
    • CSS3之animation动画
    • css动画性能优化
    • flex布局语法
    • flex布局案例
    • Grid布局语法
    • flex布局和grid布局的区别
    • 「布局技巧」图片未加载前自动撑开元素高度
    • 文字在一行或多行时超出显示省略号
    • 水平垂直居中的几种方式-案例
    • 如何根据系统主题自动响应CSS深色模式
    • 工作中遇到的css问题记录
    • 今天总结一下用到的css吧
  • 页面
  • CSS
mamingjuan
2020-05-12
目录

CSS-function汇总

# 介绍

“CSS function” 是指 CSS 中内置的函数(如 calc()、var()、rgb()、url() 等),它们常用于动态计算、颜色处理、单位换算、渐变、形变、过滤、选择器控制等。

下面我帮你系统地 汇总和分类所有常见 CSS 函数,让你能快速掌握重点和面试高频点。


# 一、数值与单位计算函数(计算类)

# 1️⃣ calc()

  • 作用:允许在 CSS 中进行动态计算。

  • 常用语法:

    width: calc(100% - 50px);
    padding: calc(var(--gap) / 2);
    
    1
    2
  • ✅ 支持 + - * / 四则运算

  • ✅ 可混合不同单位(如 %、px、rem)


# 2️⃣ min() / max() / clamp()

CSS 中的动态范围函数,响应式设计神器!

函数 含义 示例
min(a, b) 取最小值 width: min(100%, 600px);
max(a, b) 取最大值 width: max(50%, 300px);
clamp(min, preferred, max) 限制范围(推荐值) font-size: clamp(14px, 2vw, 20px);

✅ clamp() 是响应式字体和容器尺寸调整的常用技巧。


# 二、颜色与渐变函数

# 1️⃣ rgb() / rgba()

  • 颜色定义(红、绿、蓝、透明度)

    color: rgba(255, 0, 0, 0.8);
    
    1

# 2️⃣ hsl() / hsla()

  • 按色相(Hue)、饱和度(Saturation)、亮度(Lightness)定义颜色。

    color: hsl(120, 50%, 50%);
    
    1

# 3️⃣ color-mix()

  • 混合两种颜色(现代浏览器支持)

    color: color-mix(in srgb, red 30%, blue);
    
    1

# 4️⃣ 渐变函数

函数 描述 示例
linear-gradient() 线性渐变 background: linear-gradient(45deg, red, blue);
radial-gradient() 径向渐变 background: radial-gradient(circle, yellow, red);
conic-gradient() 锥形渐变 background: conic-gradient(from 0deg, red, yellow, green);
repeating-linear-gradient() 可重复线性渐变 background: repeating-linear-gradient(90deg, red 0, red 10px, blue 10px, blue 20px);

# 三、变形与动画函数(Transform类)

这些函数通常出现在 transform: 属性中,用于二维/三维变换。

函数 作用 示例
translate(x, y) 平移 transform: translate(100px, 50px);
translateX() / translateY() / translateZ() 单方向平移 transform: translateX(20px);
scale(x, y) 缩放 transform: scale(1.2, 1.2);
rotate(angle) 旋转 transform: rotate(45deg);
skew(x-angle, y-angle) 倾斜 transform: skew(10deg, 5deg);
matrix(a, b, c, d, tx, ty) 2D 矩阵变换 transform: matrix(1, 0, 0, 1, 50, 50);
perspective(n) 设置透视深度 transform: perspective(600px) rotateY(30deg);

✅ 这些函数可以组合使用:

transform: translateX(100px) rotate(45deg) scale(1.2);
1

# 四、滤镜函数(Filter类)

用于图像、背景、元素的视觉特效。

函数 说明 示例
blur(px) 模糊 filter: blur(5px);
brightness(%) 亮度 filter: brightness(120%);
contrast(%) 对比度 filter: contrast(150%);
grayscale(%) 灰度 filter: grayscale(100%);
hue-rotate(deg) 色相旋转 filter: hue-rotate(90deg);
invert(%) 反色 filter: invert(100%);
saturate(%) 饱和度 filter: saturate(200%);
sepia(%) 棕褐色 filter: sepia(80%);
drop-shadow(x y blur color) 阴影 filter: drop-shadow(2px 2px 5px gray);

# 五、图像与资源函数

函数 用途 示例
url() 引入图片、字体等资源 background: url('./bg.png');
image-set() 设置不同分辨率图片 background: image-set(url(img1.png) 1x, url(img2.png) 2x);
cross-fade() 图片混合(部分浏览器) background: cross-fade(url(a.png), url(b.png), 50%);

# 六、自定义属性与变量函数

函数 说明 示例
var(--name, fallback) 调用自定义变量 color: var(--main-color, black);
env() 系统环境变量(如安全区域) padding-bottom: env(safe-area-inset-bottom);

# 七、字符串与计数函数

函数 用途 示例
attr() 获取元素属性值 content: attr(data-label);
counter() / counters() 计数器 content: counter(item) ". ";

# 八、形状与裁剪函数(Shape / Clip-path)

函数 描述 示例
circle() 圆形裁剪 clip-path: circle(50% at 50% 50%);
ellipse() 椭圆裁剪 clip-path: ellipse(40% 60% at 50% 50%);
polygon() 多边形裁剪 clip-path: polygon(0 0, 100% 0, 100% 100%);
inset() 内边距裁剪 clip-path: inset(10% 10% 10% 10%);
path() 自定义路径(svg) clip-path: path('M10 10 H 90 V 90 H 10 Z');

# 九、背景与遮罩函数

函数 功能 示例
repeating-radial-gradient() 重复径向渐变 background: repeating-radial-gradient(circle, red, yellow 10px);
mask-image() 遮罩图像 mask-image: linear-gradient(to right, transparent, black);

# 十、时间与步骤函数(动画函数)

函数 描述 示例
cubic-bezier(x1, y1, x2, y2) 自定义缓动函数 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
steps(n, start | end) 分步动画 animation-timing-function: steps(5, end);

# 🔍 面试常问总结

类型 高频函数 说明
动态布局 calc()、clamp()、min() 响应式计算
动画优化 transform()、opacity + cubic-bezier() 高性能动画
色彩控制 rgba()、hsl()、color-mix() 灵活配色
滤镜特效 filter() 系列 图像优化
变量控制 var()、env() 主题与适配
裁剪形状 clip-path() 个性化 UI

上次更新: 2025/11/25, 03:24:47
字体font-weight相关知识
CSS3之has函数的使用

← 字体font-weight相关知识 CSS3之has函数的使用→

Copyright © 2015-2025 Glitz Ma
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式