更新时间:2021-08-27 11:18:54 来源:极悦 浏览1145次
CSS过渡允许您平滑地更改属性值,但它们总是需要像悬停一样触发。属性更改不会立即生效。在一段时间内,属性会发生变化。例如,如果您将元素的颜色从白色更改为黑色,更改会立即发生。CSS更改按照可以自定义的加速度曲线以时间间隔发生。
在两个状态之间转换的动画称为隐式转换,因为开始状态和最终状态之间的状态是由浏览器隐式定义的。
CSS动画允许HTML元素的动画,不像过渡只执行 A 点到 B 点的操作,但也可以在两者之间进行更多的操作。动画包括两个步骤,样式表中定义的 CSS 动画和一组指示动画开始和结束状态的关键帧。
过渡 | 动画 |
---|---|
过渡不能循环(您可以让它们这样做,但它们不是为此而设计的)。 | 动画在循环中没有问题。 |
转换需要一个触发器才能像鼠标悬停一样运行。 | 动画刚开始。它们不需要任何类型的外部触发源。 |
转换很容易在 JavaScript 中工作。 | 动画很难在 JavaScript 中工作。操作关键帧并为其分配新值的语法非常复杂。 |
过渡动画对象从一个点到另一个点。 | 动画允许您定义从一种状态到另一种具有各种属性和时间范围的关键帧。 |
使用转换来使用 JavaScript 操作值。 | 具有多个关键帧和简单循环提供了灵活性。 |
示例1:下面的示例演示了应用悬停后更改颜色的过渡效果。
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
background: red;
transition: width 2s;
}
div:hover {
background: yellow;
}
</style>
</head>
<body>
<h1>The transition Property</h1>
<p>
Hover over the div element below,
to see the transition effect:
</p>
<div></div>
</body>
</html>
输出:
示例 2:以下示例演示使用动画更改颜色。
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 2s;
}
@keyframes example {
0% {
background-color: red;
}
50% {
background-color: blue;
}
100% {
background-color: yellow;
}
}
</style>
</head>
<body>
<p>Animation</p>
<div></div>
</body>
</html>
输出:
以上就是极悦小编介绍的"CSS动画和过渡的区别",希望对大家有帮助,想了解更多可查看Java教程。极悦在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习