css3之动画

        今天学习的动画,用动画就可以设计出很多好看的效果,例如用css动画实现一个钟表的效果,鼠标悬停上去,指针开始移动;

       .clock {
            width: 284px;
            height: 284px;
            border-radius: 50%;
            background: url(img/clock.png) no-repeat;
            position: relative;
        }
        
        .clock::before {
            content: "";
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: black;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
        
        .clock::after {
            content: "";
            width: 2px;
            height: 30%;
            background: black;
            position: absolute;
            top: 20%;
            left: 50%;
            transform: translateX(-50%);
            transition-duration: 60s;
            transition-timing-function: steps(60, start);
            transform-origin: bottom;
        }
        
        .clock:hover::after {
            transform: translateX(-50%) rotate(360deg);
        }

 

<div class="clock">

    </div>

这就是使用css动画实现的,先给这个盒子设置一个大小并用border-radius设置成圆,在里面插入背景图,让这个背景图不平铺,并给他一个相对定位,然后利用伪元素画一个圆,并且让他居中,在利用after这个伪元素来设置指针,需要注意的是要给动画设置时间,他才可以运行,设置时间用的是transition-duration,transition-timing-function是设置规定动画过渡效果的速度曲线,里面有:ease:规定过渡效果,先缓慢的开始,然后加速,然后缓慢的结束这个值就是速度曲线的默认值,linear:规定从开始到结束具有相同速度的过渡效果,ease-in规定缓慢开始的过渡效果;ease-out:规定缓慢结束的过渡效果,ease-in-out:规定开始和结束较慢的过渡效果,如果这几个属性你都不想用,那么你也可以自己定义自己的值,使用cubic-bezier(n,n,n,n):允许你在三次贝塞尔函数中定义自己的值。

动画

        如何使用动画呢?

        需要先给动画定义一个样式和名字,使用@keyframes 动画名称{ from{开始时的样式}to{结束时的样式} },在这里面定义动画的样式,如果需要用动画,那么就要在要是有动画的地方写上animation-name:动画名称;也可以设置动画填充模式,使用animation-fill-mode:属性有(none:默认值,动画在执行之前或之后不会对元素应用任何样式;forwards:元素将保留由最后一个关键帧设置的样式值;backwards:元素将获取由第一个关键帧设置的样式值,并在动画延迟期间保留该值;both:动画会同时遵循向前和向后的规则,从而在两个方向上扩展动画属性)。

animation-delay:这个是延迟动画,当值为负数时,表示已经跳过几秒进入动画周期。

反向或交替运行动画

animation-direction:属性有normal-动画正常播放,默认值;reverse-动画以反方向播放;alternte-动画先向前播放然后向后播放;alternate-reverse-动画先向后播放,然后向前。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

活着就是为了樱岛麻衣~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值