插件窝 干货文章 CSS中transition和transform的差别

CSS中transition和transform的差别

属性 过渡 transition transform 822    来源:    2024-10-13

CSS中transition和transform都是用来实现动画效果的属性,但它们的作用和使用方法有所不同。

transition属性用于指定元素在CSS属性变化过程中的过渡效果。通过transition属性,我们可以使元素的属性发生变化时,从初始状态平滑过渡到最终状态,而不是突然改变。transition的语法如下:

transition: property duration timing-function delay;

其中,property表示要过渡的CSS属性,可以是单个属性或多个属性,用逗号分隔。duration表示过渡的持续时间,以秒或毫秒为单位。timing-function表示过渡效果的计时函数,用于控制过渡的速度曲线,默认是ease。delay表示过渡开始之前的延迟时间。

下面是一个使用transition过渡的例子:

立即学习“前端免费学习笔记(深入)”;

<!DOCTYPE html>
<html>
<head>
<style>
.box {
  width: 100px;
  height: 100px;
  background-color: red;
  transition: width 1s ease;
}

.box:hover {
  width: 200px;
}
</style>
</head>
<body>

<div class="box"></div>

</body>
</html>

在上面的例子中,当鼠标悬停在.box元素上时,宽度会从100px平滑过渡到200px。

而transform属性用于对元素进行变形操作,例如旋转、缩放、平移和倾斜等。通过transform属性,可以在不改变文档布局的情况下改变元素的外观。transform的语法如下:

transform: function(value);

其中,function表示要执行的变形函数,可以是旋转(rotate),缩放(scale),平移(translate)或倾斜(skew)等。

下面是一个使用transform变形的例子:

<!DOCTYPE html>
<html>
<head>
<style>
.box {
  width: 100px;
  height: 100px;
  background-color: red;
  transform: rotate(45deg);
}
</style>
</head>
<body>

<div class="box"></div>

</body>
</html>

在上面的例子中,.box元素被旋转了45度。

总结来说,transition属性用于控制CSS属性的平滑过渡效果,而transform属性用于对元素进行变形操作。在实际应用中,两者常常会结合使用,通过transition属性控制transform属性的过渡效果,从而实现更加复杂的动画效果。