Skip to content

参考

基于 CSS 现代标准 · 核于 2026-06

速查

  • 三选一:状态变化补间 → transition;自主多帧 → @keyframes + animation;移动 / 缩放 / 旋转 → transform
  • 高性能铁律:只动 transform / opacity(走合成层);避开 width / top / margin(触发重排)
  • transition: <property> <duration> <timing-function> <delay>;别用 all;缺时长 = 无动画
  • animation: <name> <duration> <timing> <delay> <count> <direction> <fill-mode> <play-state>;缺时长 = 不播;forwards 防闪回
  • 缓动:ease(默认)/ linear / ease-in / ease-out / ease-in-out / cubic-bezier() / linear()(弹簧,2023)/ steps()(逐帧)
  • 变换:函数从右往左叠;独立属性 translate/rotate/scale(Baseline 2022)可分别过渡;transform-origin 改基点
  • 3D 三件套:父 perspective + transform-style: preserve-3d + backface-visibility: hidden
  • 视觉:filter(自身)/ backdrop-filter(背后毛玻璃)/ mix-blend-mode(混合)/ clip-path(硬裁)/ mask(羽化遮罩)
  • 进场:@starting-style + transition-behavior: allow-discrete(过渡 display,Baseline 2024)
  • 现代:同文档 View Transitions(Baseline 2025);跨文档 + 滚动驱动动画(非 Baseline@supports 降级)
  • 无障碍红线:@media (prefers-reduced-motion: reduce) 关 / 减弱所有装饰动画

transition 速查

属性取值说明
transition-property属性名(逗号分隔)/ all / none列具体属性,别用 all
transition-duration<time>300ms / 0.3s默认 0s,不写则无动画
transition-timing-function见缓动表默认 ease
transition-delay<time>(可负)负值从中途开始
transition-behaviornormal / allow-discretedisplay 等离散属性可过渡(2024)

简写两个时间值:先 duration 后 delay。基态上的 transition 同时管进场与离场。

animation 速查

属性取值说明
animation-name@keyframes区分大小写
animation-duration<time>默认 0s = 不播放
animation-timing-function见缓动表作用于每段关键帧之间
animation-delay<time>(可负)
animation-iteration-count<number> / infinite默认 1,不能为负
animation-directionnormal / reverse / alternate / alternate-reversealternate = 往返
animation-fill-modenone / forwards / backwards / both一次性动画常用 forwards 防闪回
animation-play-staterunning / paused暂停冻结当前帧
animation-compositionreplace(默认)/ add / accumulate多动画叠加同一属性时的合成

缓动函数速查

写法手感 / 用途
ease(默认)先快后慢,通用
linear匀速;旋转 loading / 进度条 / 滚动驱动
ease-in缓起加速;元素离场
ease-out快起缓停;元素进场
ease-in-out两端缓;对称往返
cubic-bezier(x1,y1,x2,y2)自定义;y[0,1] 造过冲回弹
linear(0, 0.5 50%, 1, …)多点折线,逼近弹簧 / 反弹(Baseline 2023)
steps(n, end|start)切成 n 段离散跳变;雪碧图 / 打字机

transform 函数速查

类别函数单位
平移translate(x,y) / translateX / translateY / translateZ / translate3d<length> / %(Z 仅长度)
缩放scale(x,y) / scaleX / scaleY / scaleZ / scale3d无单位数(1=100%)
旋转rotate / rotateX / rotateY / rotateZ / rotate3d(x,y,z,a)deg / rad / grad / turn
倾斜skew(x,y) / skewX / skewY<angle>(无 3D、无独立属性)
矩阵matrix(6 参) / matrix3d(16 参)底层,少手写
透视perspective(<length>)也可作属性写在父级

多函数从右往左应用。独立属性顺序固定 translate → rotate → scale

3D 相关属性速查

属性取值作用
perspective<length> / none景深;越小越夸张;写在父级
perspective-origin<x> <y>灭点位置,默认中心
transform-styleflat(默认)/ preserve-3d子元素是否保留 3D
backface-visibilityvisible(默认)/ hidden背朝时是否可见(翻牌用 hidden
transform-origin<x> <y> <z>?变换基点,默认 50% 50%

视觉效果速查

属性作用关键值 / 函数
filter处理元素自身像素blur / brightness / contrast / grayscale / sepia / saturate / hue-rotate / invert / opacity / drop-shadow
backdrop-filter处理元素背后像素(毛玻璃)同上;需元素半透明 + -webkit- 兜底
mix-blend-mode与下层内容混合multiply / screen / overlay / difference / darken / lighten
background-blend-mode同元素多背景层之间混合同上
clip-path硬边裁形(可动画,顶点数须一致)circle() / ellipse() / inset() / polygon() / path()
mask用亮度 / alpha 羽化遮罩mask-image(图 / 渐变)+ mask-size / -repeat / -position

View Transitions 速查

内容
同文档触发document.startViewTransition(updateDOM)ready / finished / updateCallbackDone
参与命名CSS view-transition-name: 唯一名(同名新旧元素形变补间)
伪元素树::view-transition-group()-image-pair()-old() / -new()
跨文档@view-transition { navigation: auto; }仅同源)+ pageswap / pagereveal 事件
降级检测 document.startViewTransition@view-transition 不支持即被忽略

滚动驱动动画速查

内容
接线animation-timeline: scroll() / view() / --命名时间线(动画不写 duration
scroll(axis scroller)axis: block/inline/x/yscroller: nearest/root/self
view(axis inset)元素进出视口的进度
命名时间线scroll-timeline-name / view-timeline-name 定义,animation-timeline: --名 引用;跨级用 timeline-scope
animation-range命名区段 cover / contain / entry / exit / entry-crossing / exit-crossing
降级@supports (animation-timeline: view());默认态保持可见

现代特性 Baseline 状态(2026-06 核)

特性状态用法建议
transition / @keyframes / animation✅ Baseline 广泛可用放心用
transform(2D/3D 函数)✅ Baseline 广泛可用放心用
独立属性 translate/rotate/scale✅ Baseline 广泛可用(2022-08)放心用,可分别过渡
linear() 缓动✅ Baseline 可用(2023)弹簧 / 回弹首选
filter / mix-blend-mode / clip-path / mask✅ 广泛可用(mask 旧版需 -webkit-可用,带前缀兜底
backdrop-filter🟡 Baseline 新近可用(2024,Safari 早期需前缀)@supports + -webkit- 兜底,性能克制
@starting-style / transition-behavior: allow-discrete🟡 Baseline 新近可用(2024)进场 / display 过渡;老环境降级为瞬时
同文档 View Transitions(startViewTransition🟡 Baseline 新近可用(2025-10)渐进增强,老环境落到无动画切换
跨文档 View Transitions(@view-transition🟠 Limited / 非 Baseline(Chromium 系)纯渐进增强,规则不支持即被忽略
滚动驱动动画(animation-timeline🟠 Limited / 非 Baseline(Chromium 全支持;Firefox 部分;Safari 缺)纯渐进增强,@supports 兜底、默认态可见
prefers-reduced-motion✅ Baseline 广泛可用必须响应(无障碍红线)

权威链接

标准 / 规范

参考 / 文档

课程 / 指南

兼容性 / 工具

相关页