动画必备属性 transform

本文介绍了CSS中的transform属性,用于实现元素的移动、旋转、缩放和倾斜等2D和3D变换效果。内容包括translate、scale、rotate、skew的基本语法和复合变换,以及变换中心点的设定。此外,还探讨了transform 2D变换的矩阵本质,并列举了常见的二维变换。3D变换虽未详细展开,但提供了相关学习资源。
摘要由CSDN通过智能技术生成

概述

transform 本意是变形,变换之意,在 CSS 中使用该属性可对元素进行移动(translate)、旋转(rotate)、缩放(scale)、倾斜(skew)等效果。因其有着各种特效及优良的性能,所以成为动画的标配。

在学习之前,我们可以简单欣赏下几个案例:

二维(2D)变换

translate

其语法为:transform: translate(tx[, ty])。其中 tx 表示 x 方向偏移,ty 表示 y 方向偏移,如果 ty 没有指定值则为0。

还可以分拆为:transform: translateX(tx) 或 transform: translateY(ty)

简单示例如下(虚线框表示原先位置):

.box {
    transform: translate(50px, 30px);
}

注:tx,ty 如果为百分比值的话,其参考计算的是元素本身的宽和高,而不是父元素的宽和高。所以经常使用该方法设置定位居中,代码如下:

.demo {
  position: absolute;
  top: 50%; /* 父元素高度的一半位置 */
  left: 50%; /* 父元素宽度的一半位置 */
  transform: translate(-50%, -50%); /* 元素本身的一半宽、高 */
}

scale

其语法为:transform: scale(sx[, sy])。其中 sx 表示 x 方向的缩放比例,sy 表示 y 方向的缩放比例,如果 sy 没有指定值则与 sx 相等。

同样也可以分拆为:transform: scaleX(sx) 和 transform: scaleY(sy)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值