matrix()

基线 广泛可用

此功能已得到良好建立,并且可以在许多设备和浏览器版本上运行。它自以下版本起在所有浏览器中都可用 2015年9月.

matrix() CSS 函数 定义了一个齐次二维变换矩阵。其结果是 <transform-function> 数据类型。

试一试

注意:matrix(a, b, c, d, tx, ty)matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1) 的简写形式。

语法

matrix() 函数使用六个值指定。常数值是隐含的,不作为参数传递;其他参数按列主序描述。

css
matrix(a, b, c, d, tx, ty)

a b c d

是描述线性变换的 <number>

tx ty

是描述要应用的平移的 <number>

笛卡尔坐标ℝ^2 齐次坐标ℝℙ^2 笛卡尔坐标在 ℝ^3 齐次坐标在 ℝℙ^3
( a c b d ) \begin{pmatrix} a & c \\ b & d \end{pmatrix} ( a c tx b d ty 0 0 1 ) \left( \begin{array}{ccc} a & c & tx \\ b & d & ty \\ 0 & 0 & 1 \\ \end{array} \right) ( a c tx b d ty 0 0 1 ) \left( \begin{array}{ccc} a & c & tx \\ b & d & ty \\ 0 & 0 & 1 \\ \end{array} \right) ( a c 0 tx b d 0 ty 0 0 1 0 0 0 0 1 ) \left( \begin{array}{cccc} a & c & 0 & tx \\ b & d & 0 & ty \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} \right)
[a b c d tx ty]

这些值表示以下函数:matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())

示例

HTML

html
<div>Normal</div>
<div class="changed">Changed</div>

CSS

css
div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.changed {
  transform: matrix(1, 2, -1, 1, 80, 80);
  background-color: pink;
}

结果

规范

规范
CSS 变换模块级别 1
# funcdef-transform-matrix

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅