css函数

一、 🔢 数值/长度计算

函数 说明 示例
calc() 动态计算长度、百分比、数值等 width: calc(100% - 40px);
min() 取多个值中的最小值 width: min(50%, 300px);
max() 取多个值中的最大值 padding: max(10px, 2vw);
clamp() 设置一个值在最小和最大之间 font-size: clamp(16px, 4vw, 24px);

1.clamp()

把一个值的范围,"夹"在一个最大值和一个最小值之间

语法:
复制代码
width: clamp(最小值, 理想值, 最大值);
例:
javascript 复制代码
h1 { font-size: 16px; }
@media (min-width: 768px) { h1 { font-size: 24px; } }
@media (min-width: 1200px) { h1 { font-size: 32px; } }

变为:


h1 {
  /* 最小值是16px,
    理想值是视口宽度的4%,
    最大值是32px。
  */
  font-size: clamp(16px, 4vw, 32px);
}

二、progress()

计算某个数值在一个范围内的"进度比例"

  • 当当前值小于或等于开始值时,返回0
  • 当当前值大于或等于结束值时,返回1
  • 当当前值在两者之间时,返回按比例计算的小数
    • 计算公式是:(当前值 - 开始值) ÷ (结束值 - 开始值)

语法:

javascript 复制代码
progress(<当前值>, <开始值>, <结束值>)

例:

复制代码
h1 {
  /* 窗口宽度在480px到1200px之间时,字体大小从2rem渐变到3rem */
  font-size: calc(2rem + progress(100vw, 480px, 1200px) * 1rem);
}

三、 🎨 颜色函数

函数 说明 示例
rgb(r, g, b) / rgba(r, g, b, a) 红绿蓝颜色 color: rgb(255, 0, 0);
hsl(h, s, l) / hsla(h, s, l, a) 色相-饱和度-亮度 background: hsl(120, 100%, 50%);
hwb() 色相-白度-黑度(较新) color: hwb(200 50% 20%);
color-mix() 混合两种颜色(现代浏览器) background: color-mix(in srgb, red 30%, blue);
lab(), lch() 基于人眼感知的颜色空间 color: lab(70% 20 30);

1.color-mix()

复制代码
<el-button style="background-color: color-mix(in srgb, red 50%,blue 50%)">123</el-button>

四. 🌀 变换函数(Transform)

用于 transform 属性:

复制代码
.element {
  transform: 
    translateX(100px)     /* 平移 */
    rotate(45deg)         /* 旋转 */
    scale(1.2)            /* 缩放 */
    skew(10deg)           /* 倾斜 */
    matrix(1,0,0,1,50,50);/* 矩阵变换 */
}

五、 🖼️ 图像/滤镜函数

函数 说明 示例
url() 引用资源 background: url(bg.png);
linear-gradient() 线性渐变 background: linear-gradient(to right, red, blue);
radial-gradient() 径向渐变 background: radial-gradient(circle, red, yellow);
conic-gradient() 圆锥渐变 background: conic-gradient(red, green, blue);
blur(), grayscale(), opacity() 滤镜效果 filter: blur(5px) grayscale(100%);

六、 📐 其他实用函数

函数 说明 示例
var(--name) 使用 CSS 自定义属性(变量) color: var(--primary-color);
attr() 获取 HTML 属性值(常用于 content content: attr(data-label);
counter() 计数器(用于自动编号) content: counter(section) ".";
相关推荐
风骏时光牛马6 小时前
AI源码分析:拆解模型底层实现逻辑
前端
BillKu6 小时前
全局样式变量:CSS 自定义属性(--border-color)和SCSS 变量($border-color)的说明
javascript·css·scss
IT_陈寒6 小时前
React子组件莫名其妙重渲染?你可能漏了这个Hook
前端·人工智能·后端
乘风gg6 小时前
DeepSeek V4.1 Flash 来了,明天中午 Flash 降价 60%
前端·ai编程·claude
默_笙7 小时前
❗ 给金鱼装记忆(上):从白板到笔记本,AI 的短期记忆生存指南
前端·javascript
酷酷的逗逗乐7 小时前
前端转 Agent 开发 · 第五节:Memory 会话记忆
前端·程序员
掘金挖土7 小时前
前端手摸手跑路之 AI 应用开发(二)
前端·后端
兜里只有三分钱~7 小时前
翻卡_3D 的仪式感,和三个让它穿帮的写法
javascript·css·3d
mayaairi8 小时前
Vue2 组件通讯(四):v-model、scoped样式、mixins与plugins
前端·javascript·vue.js
梦曦i8 小时前
@meng-xi/uni-router 未来展望:夯实基础、深化体验、探索前沿
前端·uni-app