【发布时间】:2015-02-06 02:12:19
【问题描述】:
我有一个简单的 css 变换,当我使用 css 变换矩阵时效果很好,
根据this answercss变换矩阵值等价于旋转、倾斜和缩放函数如下
矩阵(a, b, c, d, e, f)
参数a 和d 分别用于在X 和Y 方向缩放元素。与 scale(a, d) 方法相同。
参数 b 和 c 用于倾斜元素。与 skew(b, c) 方法相同。
参数e 和f 分别用于在X 和Y 方向平移元素。与 translate(e, f) 方法相同。
我的问题是... 此信息不正确吗? 因为正如我的示例所示,我必须给出完全不同的值才能使圆圈具有相同的比例和 x,y 位置。
Simple Codepen transform example
.scale-in {
transition:All 1s ease-in-out;
transform: scale(3,3) translate(-170px,-80px);
}
.scale-in-matrix {
transition:All 1s ease-in-out;
transform: matrix(3, 0, 0, 3, -500, -250);
}
您可以在我的示例中通过将第 6 行的 JavaScript 更改为:
this.classList.add("scale-in-matrix");
另外还有一个小问题,为什么在我的示例中翻译循环是左转然后右转,但在使用变换矩阵时却非常平滑?
【问题讨论】:
-
嗯,我无法观察到与您的两个类(Chrome 最新版、Windows 8.1)相同的转换,但如果您只是想“放大”点,不妨考虑一下:@987654323 @
-
真的,它对我来说很好,你需要点击添加类的圆圈,然后转换
-
好像你需要添加 transform-origin:center;我想这对于转换比例和翻译来说一定很重要。