css动画animation

使用css可以实现一些网页动画,增加用户的体验,但是不要过度使用

@keyframes

keyframes其作用是定义帧动画,先定义再调用。

以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。

0% 是动画的开始时间,100% 动画的结束时间。

语法:@keyframes animationname {keyframes-selector {css-styles;}}

        @keyframes roll{
            from{
                transform: rotate(0);
            }
            to{
                transform: rotate(360deg);
            }
        }

         @keyframes roll{
            0%{
                top: 130px;
                left: 130px;
            }
            25%{
                top: 130px;
                left: 260px;
            }
            50%{
                top: 260px;
                left: 260px;
            }
            75%{
                top: 260px;
                left: 130px;
            }
            100%{
                top: 130px;
                left: 130px;
            }
        }


animation

animation是一个简写属性,包含多个属性值

语法:animation: name duration timing-function delay iteration-count direction fill-mode;

          animation:动画名称 动画执行时间 [动画曲线 延迟时间 执行次数 是否反向执行 是否保留最后一帧] 

        其中[ ] 中的内容为可选项

  • animation-name: 动画属性名
  • animation-duration:动画持续时间
  • animation-delay: 动画延迟时间
  • animation-timing-function:动画速度曲线  linear匀速
  • animation-iteration-count:定义循环次数  infinite是无限循环
  • animation-direction:alternate 动画轮反向播放
  • animation-play-state:动画状态        paused/running
  • animation-fill-mode:forwards 保留最后一帧动画
         animation: roll 3s linear infinite ;

通过动画实现下图效果:

 

 

        <div class="bg">
            <div class="content"></div>
        </div>
        /* 定义关键帧动画 */
        @keyframes roll{
            /* 本案例利用定位实现 */
            from{
                left: -200px;
            }
            to{
                left: 0;
            }
        }
        .bg{
            width: 200px;
            height: 30px;
            border: 1px solid hotpink;
            position: relative;
            margin: 0 auto;
            overflow: hidden;
        }
        .bg .content{
            width: 200px;
            height: 30px;
            position: absolute;
            background-color: deeppink;
            /* animation:动画名称 动画执行时间 动画曲线 执行次数 */
            animation: roll 3s linear infinite ;
        }
        .bg .content:hover{
            /* 动画状态:pause悬停时暂停 */
            animation-play-state: paused;
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值