css两种动画的区别

admin 轻心小站 关注 LV.19 运营
发表于前端技术学习版块 css,教程

CSS动画已成为网页设计中必不可少的一部分,可以给网页增添美感的同时也能让用户体验更为流畅。在CSS动画中,我们常见到两种不同的动画方式:transition(过渡)和animation(动画)。它们

CSS动画已成为网页设计中必不可少的一部分,可以给网页增添美感的同时也能让用户体验更为流畅。在CSS动画中,我们常见到两种不同的动画方式:transition(过渡)和animation(动画)。它们的实现方式各不相同,下面让我们来看看这两种动画方式的具体区别。

/* CSS Transition */
div {
  width: 100px;
  height: 100px;
  background-color: red;
  transition: width 2s;
}
div:hover {
  width: 200px;
} 

CSS Transition 过渡动画是指在CSS属性的变化过程中实现平滑的过渡效果。上面这段代码中,鼠标放在div元素上面时,其宽度将从100px变成200px,过程中需要2s的时间。transition属性规定了过渡动画的持续时间、过渡类型以及过渡开始和结束时的状态。在定义过渡属性时,需要将属性名和时间值一起定义。

/* CSS Animation */
@keyframes rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
div {
  width: 100px;
  height: 100px;
  background-color: green;
  animation: rotate 2s linear infinite;
} 

CSS Animation 动画是指在一段时间内按照一定规律变化的样式效果。上面这段代码中,我们定义了一个名为rotate的动画,它从0%开始,旋转0度,在100%时旋转360度,规定了动画开始和结束的状态。我们通过animation属性在div元素上应用这个动画,规定了动画的名称,动画时长,动画速率以及动画播放次数。通过关键帧(keyframes)来定义动画过程中不同时间点的状态效果。

综上所述,transition用来实现从一个状态过渡到另一个状态,场景主要在hover等交互触发场景中使用;animation用来制作更为复杂的动画效果,可以实现旋转、淡入淡出等多种效果,场景主要在网站界面,Banner广告,游戏等多种场景中使用。

文章说明:

本文原创发布于探乎站长论坛,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,探乎站长论坛平台仅提供信息存储空间服务。

评论列表 评论
发布评论

评论: css两种动画的区别

粉丝

0

关注

0

收藏

0

已有0次打赏