继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

CSS transform 2D变换详解

业余奶茶品鉴师
关注TA
已关注
手记 8
粉丝 50
获赞 88

transform ,通过这个属性,我们可以对元素进行移动、缩放、转动、拉长或拉伸的变换。CSS中的变换又分为2D变换和3D变换,这里我们来聊一下2D变换。

—— rotate() 旋转

—— translate() 平移

—— scale() 缩放

—— skew() 翻转(拉伸)

—— matrix() 把所有 2D 转换方法组合在一起

现在,我们来通过具体的例子来了解这几个属性:

https://img3.mukewang.com/5b9782620001f32409741916.jpg

【图比较抽象,哈哈,手残请见谅】

https://img.mukewang.com/5b9785200001ad1d09301666.jpg

前四种比较简单,都可以通过一张图几行代码清晰简明地展示出来,matrix()就比较伤脑筋了,它把

所有 2D 转换方法组合在一起,比较复杂,我们来看一下:

transform: matrix(a, b, c, d, e, f);

通过matrix() 完成2D变换时需要传6个参数,我们就可以实现上面讲的4种2D变换。

matrix(cosθ, sinθ, -sinθ, cosθ, 0, 0) 等同于:rotate(θdeg)
matrix(1, 0, 0, 1, e, f) 等同于:translate(epx, fpx)
matrix(a, 0, 0, d, 0, 0) 等同于:scale(a, d)
matrix(1, tan(θy), tan(θx), 1, 0, 0) 等同于:skew(θxdeg, θydeg)

——————————手动分割线——————————
掌握前四种变换方法,基本就可以完成页面的一些效果了,matrix() 就当作开拓眼界吧,等用到的时候再去好好研究一下。这个时候才后悔以前没有好好学数学,越深入学技术,越发现真的会用到很多数学芝士,芝士就是力量哇~

打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP