单独 CSS 变换
与 CSS 动画或原生 WAAPI 不同,CSS transform
属性可以通过指定单独的属性进行动画处理。
这允许对如何动画处理单独的变换属性进行更高级别的控制。
单独变换 (仅限 WAAPI) 仅适用于支持 CSS.registerProperty(propertyDefinition)
的浏览器,并回退到无动画。
单独变换不能进行 硬件加速。
有效的单独 CSS 变换属性
名称 | 简写 | 默认值 | 默认单位 |
---|---|---|---|
translateX | x | '0px' |
'px' |
translateY | y | '0px' |
'px' |
translateZ | z | '0px' |
'px' |
rotate | — | '0deg' |
'deg' |
rotateX | — | '0deg' |
'deg' |
rotateY | — | '0deg' |
'deg' |
rotateZ | — | '0deg' |
'deg' |
scale | — | '1' |
— |
scaleX | — | '1' |
— |
scaleY | — | '1' |
— |
scaleZ | — | '1' |
— |
skew | — | '0deg' |
'deg' |
skewX | — | '0deg' |
'deg' |
skewY | — | '0deg' |
'deg' |
单独 CSS 变换代码示例
import { waapi, utils } from 'animejs';
const $squares = utils.$('.square');
const animateSquares = () => {
waapi.animate($squares, {
x: () => utils.random(0, 17) + 'rem',
y: () => utils.random(-1, 1) + 'rem',
rotateX: () => utils.random(-90, 90),
rotateY: () => utils.random(-90, 90),
onComplete: () => animateSquares()
});
}
animateSquares();
<div class="small row">
<div class="square"></div>
</div>
<div class="small row">
<div class="square"></div>
</div>
<div class="small row">
<div class="square"></div>
</div>
<div class="small row">
<div class="square"></div>
</div>