各位靓仔靓女,早上好!今天我们来聊聊CSS transform 里的 matrix() 和 matrix3d() 这两个看起来有点吓人的函数。别怕,其实它们就是把我们常用的变换操作,比如平移、旋转、缩放、倾斜,一股脑儿打包成一个矩阵而已。理解了矩阵的本质,你就掌握了操控网页元素的“变形金刚”的钥匙! 开场白:矩阵的魅力 你可能在数学课上见过矩阵,一堆数字排列成方阵。当时你可能觉得它跟你的生活八竿子打不着,但是,在图形学里,矩阵可是个宝贝。它可以表示各种变换,而且最酷的是,多个变换可以合并成一个矩阵,一次性应用到元素上。是不是有点像“乾坤大挪移”? 第一部分:2D 矩阵 matrix() matrix(a, b, c, d, tx, ty) 是 CSS 中 2D 变换的矩阵表示。这六个参数代表着一个 3×3 的矩阵(虽然实际上你只需要写 6 个数字): [ a c tx ] [ b d ty ] [ 0 0 1 ] 这个矩阵会作用于元素的每个像素点 (x, y),计算公式如下: x’ = a*x + c*y + tx y’ = b*x + d*y + t …
继续阅读“CSS `Transform Functions` `matrix()` / `matrix3d()` 的手写与解析”