transform
介绍
transform CSS 属性能够让你平移、旋转、缩放一个页面元件。
使用示例

语法
transform 属性的值可以为一个或多个 <function>,它们之间使用空格分隔,详细介绍见 function 标准语法
function 标准语法
- translate
- translateX
- translateY
- translateZ
Info
使用 translateZ 时,建议将该节点的父节点设置 flatten={false},否则在 Android 上可能会导致父亲节点的 overflow:hidden 失效。
同时,Android 上如果出现 translateZ 不生效的情况,可以试着将同一父节点的其他兄弟节点设置为 transform: translateZ(0)。
- translate3d
- rotate
- rotateZ
- rotateX
- rotateY
- scale
- scaleX
- scaleY
- skew
- skewX
- skewY
- matrix
- matrix3d
Info
-
matrix(a, b, c, d, tx, ty)是matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1)的简写。 -
matrix3d()函数由 16 个参数指定。这些参数以列为主的顺序进行描述。- a1, b1, c1, d1 定义了第一个向量,主要负责 x 轴的缩放,旋转和错切等变换;
- a2, b2, c2, d2 定义了第二个向量,主要负责 y 轴的缩放,旋转和错切等变换;
- a3, b3, c3, d3 定义了第三个向量,主要负责 z 轴的缩放,旋转和错切等变换;
- a4, b4, c4, d4 定义了第四个向量,其中 a4, b4, c4 实现了 x, y, z 轴的平移变换,d4 一般设为 1,为保持计算权重稳定的一个数值。
形式定义
| 初始值 | 空值 |
| 适用元素 | 所有元件 |
| 是否支持继承 | no |
| 是否支持动画 | yes |
注意事项
Info
-
transform rotateX 和 rotateY 旋转时若想要 3D 效果,需要 perspective 属性配合。
-
iOS rotate 若有锯齿,通过给该节点添加
allow-edge-antialiasing = true属性,打开抗锯齿。
Info
-
transform 属性是顺序有关的,translate、rotate、scale 的顺序会影响最终的渲染效果。
-
下面是各种情况下 Lynx 是否考虑 Transform 顺序的情况表:
- 什么是静态 transform:就是 CSS 中没有动画,直接渲染的 transform 属性。
与 Web 的区别
- 不支持 rotate3d, scale3d
兼容性
LCD tables only load in the browser