CSS 变形

在 CSS3 出现之前,如果我们想旋转一张图片或让一个元素歪一点,几乎是不可能的(除非用图片代替)。而 “CSS 变形(Transform)” 的出现改变了一切。它允许我们在不改变文档流的情况下,对元素进行各种视觉上的变换,比如平移、缩放、旋转等。

CSS 变形语法

在 CSS 中,所有的变形效果都通过 “transform” 属性来定义的。

语法:

transform: 函数名(参数);

说明:

transform 接收一个或多个变形函数作为它的值,常用的变形函数有 4 个(如下表所示)。

CSS 变形函数
函数 说明
translate() 平移
scale() 缩放
rotate() 旋转
skew() 倾斜

1. 单个变形

如果你只想实现一种变形操作(比如旋转),直接写一个函数即可,比如:

/* 旋转 45 度 */
transform: rotate(45deg);

2. 组合变形

如果你想要同时实现多种变形操作,比如同时旋转和放大。此时我们应该在一个 transform 属性中写多个函数,然后中间用空格隔开,比如:

/* 正确:同时旋转 45 度并放大 1.5 倍 */
transform: rotate(45deg) scale(1.5);

需要注意的是,同时实现多种变形操作,不能用多个 transform 属性来实现,比如:

/* 错误:只有 scale(1.5) 会生效,rotate 被覆盖了 */
transform: rotate(45deg);
transform: scale(1.5);

这是因为如果有多个 transform 属性时,只有最后一个 transform 属性会生效,后面的会覆盖前面的。

CSS 2D 变形 vs 3D 变形

对于 CSS 变形来说,它可以分为以下 2 种:

  • 2D 变形:只在 X 轴(水平)和 Y 轴(垂直)平面上变化。
  • 3D 变形:引入了 Z 轴(景深),可以让元素在空间中 “立起来” 或 “翻转”。

CSS 2D 变形 vs 3D 变形

在实际开发中,大多数情况下我们只会用到 2D 变形,因此在本章中我们将重点学习 2D 变形。等掌握了 2D 变形之后,感兴趣的小伙伴可以自行搜索了解一下 3D 变形。

提示: 实际上,CSS3 的动画包含了 3 部分内容:变形(transform)、过渡(transition)、动画(animation)。这 3 个部分有很多相似的地方,不过也有着本质的区别。小伙伴们在学习的过程中一定要认真对比区分三者,这样才能加深理解和记忆。

上一篇: CSS 媒体查询

下一篇: CSS 平移

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号