← CSS 函数 · 值是「算」出来的 / 函数全景图:你的浏览器认识几个 待审核 1 / 9
全景 · 14 类 115 个

函数全景图:你的浏览器认识几个

CSS 里凡是写成 name(参数) 的值都是 functional notation。和 JS 函数不同,它们没有副作用、不能自定义,每一个都是浏览器内置的「值加工器」。下面照 MDN 的分类法 把全部函数摆成一张地图,并用 CSS.supports(property, value) 实时检测: 每枚 chip 一条最小探针,绿 = 当前浏览器认识红 = 不认识。点 chip 看那条探针长什么样。

这页在不同浏览器长得不一样——这正是重点。 同一份 CSS, Chrome / Safari / Firefox 认识的函数集合并不相同(尤其 random() / progress() / if() / sibling-index() 这批新函数)。判断「能不能放心用」看 Baseline 状态,渐进增强则靠 @supports——它和这页用的 CSS.supports() 是同一套判定的 CSS / JS 两个入口。

两个容易混淆的点: rgba() / hsla() 没单列,它们只是 rgb() / hsl() 的同义别名(现代语法里 alpha 直接写在斜杠后:rgb(0 0 0 / 0.5)); rem() 是「求余 remainder」函数,和长度单位 rem (root em) 同名不同物——写成 rem(10px, 3px) 带括号的才是函数。

1 · 🔗 相关链接

  • CSS value functions · developer.mozilla.org——本页分类与清单的出处,每个函数都有专页可点。
  • CSS.supports() · developer.mozilla.org——本页实测手段:把 (property, value) 交给浏览器解析器测试,返回认不认。
  • <image> · developer.mozilla.org——image 一类的统一出口:url() / <gradient> / image() / image-set() / cross-fade() / element() 都是它的取值,凡接受 <image> 的属性都通用。