单独的 CSS 变换

与 CSS 动画或原生 WAAPI 不同,CSS transform 属性可以通过指定单独的属性来进行动画处理。
这允许对如何对单独的 transform 属性进行动画处理有更高的控制水平。

只有支持 CSS.registerProperty(propertyDefinition)的浏览器, WAAPI 的个体转换才有效,否则回退到无动画模式。

单独的变换无法 硬件加速

有效的单个 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>