独立 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>