简介:本文详解CSS3两大核心动画能力:Transitions过渡动画与Animations关键帧动画,从基础语法、速度曲线对比到多属性同步过渡、循环帧动画实战,帮助开发者快速掌握无需JS即可实现的丝滑动效,同时补充浏览器兼容性处理与性能优化建议,适配按钮交互、页面切换、加载动画等多种业务场景
在CSS3中 transition 可以让元素属性从一个值平滑过渡到另一个值,无需复杂JS代码即可实现丝滑交互效果。支持IE10+、Firefox4+、Chrome8+、Safari3+、Opera10+,现代浏览器无需额外前缀即可直接使用。
核心语法:
transition: property duration timing-function delay
多属性过渡:不同属性的过渡规则用逗号分隔,例如 :
transition: background-color 1s, width 2s ease-in
不同的 transition-timing-function 会带来完全不同的动效体感,5种常用曲线特性一目了然:
和 Transitions 仅支持首尾值过渡不同,@keyframes关键帧动画可以自定义多个时间节点的属性状态,实现更复杂的循环动画效果。
核心语法:
animation: name duration timing-function iteration-count
通过 @keyframes 定义0%~100%不同阶段的背景色状态,即可实现元素自动循环变色的效果,无需用户触发hover等交互。还可搭配animation-direction实现动画反向播放,animation-fill-mode 控制动画结束后的元素状态。