css3 - 图标元素动画效果2 - 动画无限循环、循环一定次数、反向动画

本文介绍了如何使用CSS3的`@keyframes`创建图标动画,包括无限循环、设定循环次数以及实现动画反向播放。通过设置不同的关键帧,可以控制图标在旋转过程中的变化。例如,`infinite`关键字用于让动画无限循环,而`animation-iteration-count`属性可以限制动画的执行次数,`alternate`则能让动画在偶数次执行时反向播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在线演示

这里写图片描述

鼠标悬停,图标会一直不停旋转。
如果实现图标一直不停旋转,则需要使用animation动画。先制作动画的各个关键帧,然后在图标中运用这一动画。

图标文件引入:

<link rel="stylesheet" href="lib/font-awesome/css/font-awesome.min.css">

html:

<div class="close"><i class="fa fa-close (alias) fa-5x"></i></div>

css:

.close {
    cursor: pointer;
    display: inline-block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #96CEB4;
    position: relative;
  }
  i {
    color: #FFEEAD;
    font-size: 48px;
    position: absolute;
    top: 8%;
    left: 19%;
  }

  /*定义动画*/
  @-webkit-keyframes spin { /*兼容性写法。spin是关键帧的动画名称*/
    from { /*动画起始状态*/
      -webkit-transform: rotate(0deg);
    }
    to { /*动画结束状态*/
      -webkit-transform: rotate(360deg);
    }
  }
  @keyframes spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }

  .close:hover i {
    -webkit-animation: spin 1s linear infinite;/*鼠标hover时,i图标旋转,infinite表示动画无限循环*/
    animation: spin 1s linear infinite;    
  }

解析:
keyframes:定义一个名为spin的关键帧动画。
from:指定动画的起始状态
to:指定动画的结束状态。
linear:动画匀速运动
infinite:表示动画无限循环

如果想让动画执行2次:

.close:hover i {
    -webkit-animation: spin 1s linear 2;/*2代表动画执行2次*/
    animation: spin 1s linear 2;    
  }

如果想让两次动画之间有延迟(比如一次动画结束,停留2秒再次执行动画,并且执行2次):

.close:hover i {
    -webkit-animation: spin 1s linear 2s 2; /*2s代表延迟2秒 2代表动画执行2次*/
    animation: spin 1s linear 2s 2;    
  }

还可以反向旋转(alternate表示偶数次数反向播放动画,如下代码是顺时针旋转一次后,再逆时针旋转一次):

.close:hover i {
    -webkit-animation: spin 1s linear 2s 2 alternate; /*2s代表延迟2秒 2代表动画执行2次*/
    animation: spin 1s linear 2s 2 alternate;    
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值