zoukankan      html  css  js  c++  java
  • CSS3-loading动画

    上次分享了四个CSS3的加载动画,今天继续(标题接上一次)。

    在线demo:http://liyunpei.xyz/loading.html   (持续更新)

    请注意:代码中的关键帧动画有的用的linear曲线,而有的用的是ease曲线。前者是匀速执行,整个动画以固定的速度执行;后者有加速减速阶段,在动画开始时加速,在动画将要结束时减速(比如我在50%的地方设置了一个动画,那么在快要到达50%的时候,动画开始减速,在超过50%的时候动画开始加速,表现在页面上会有一个短暂的停留效果,效果七、效果八最为明显)

    五、效果五

    小球爬楼梯的效果,第一看到这个效果,本以为会有点儿复杂,结果写出来之后觉得也没有那么难。

    首先将楼梯定位至右上角,执行从右上至左下的运动动画,并为每一个楼梯设置animation-delay的值(我这里用了三个楼梯,总时长1.8s,animation-delay值分别为0s,-0.6s,-12s)

    复制代码
    {animation: step_mv 1.8s linear infinite;}
    @keyframes step_mv { 0%{ right: 0; top: 0; opacity: 0.6; } 50%{ opacity: 1; } 100%{ right: 100%; top: 100%; opacity: 0.6; } }
    复制代码

    其次,确定小球与楼梯的接触点,小球将以此接触点作为最低基准,同时,改变小球在上升、下降过程中的宽高来是小球跳动更真实。小球动画的运动时间刚好是楼梯动画的延迟时间,这样,才能保证小球可以接触到每一个楼梯。

    复制代码
    {animation: jump .6s 0s ease infinite,jump_S .6s 0s ease infinite;}
    @keyframes jump {
          50%{
            top: 60%;
          }
        }
        @keyframes jump_S {
          5%{
            height: 25px; //下降过程
             15px;
          }
          54%{
            height: 20px;//到达底部
             20px;
          }
          55%{
            height: 25px;//上升过程
             15px;
          }
          98%{
            height: 20px;//到达顶点
             20px;
          }
        }
    复制代码

    六、效果六

    这个效果就比较简单了。

    一个矩形div,设置边框、圆角,将其中任意一个边框颜色设置为继承(即border-left/bottom/top/right-color:transparent);

    这样,父元素没有边框颜色,这一边的边框也就无色,便形成了有缺口的圆,接下来只要设置旋转动画就OK了。(代码就不贴出来了)

    七、效果七

    这个效果形状的制作与上一个做法相同,只是这次多加了一个边框,还是旋转,就不多说了,直接上关键帧动画的代码。

    复制代码
    {animation: rotate_bors 2s ease infinite;}//大圆
    {animation: rotate_bors 1s ease infinite;}//小圆
    @keyframes rotate_bors {
          50%{
            transform: rotateZ(180deg);
          }
          100%{
            transform: rotateZ(360deg);
          }
        }
    复制代码

    八、效果八

    这个效果也很简单,外部大圈怎么做就不多说了,里面的小圆,也只要改变大小就行了。

    复制代码
    {animation: rotate_borw 1s linear infinite;}
    @keyframes rotate_borw {
          50%{
             15px;
            height: 15px;
          }
        }
    复制代码

    九、效果九

    将小球全部设置为行内块元素,给父元素text-align:center来使小球水平居中,通过设置行高,来使小球垂直居中。接下来通过关键帧动画来改变小球的长宽、以及左右外边距。

    复制代码
    {animation: margin 1s linear infinite;}
        @keyframes margin {
          50%{
            margin:0 10px;
             10px;
            height: 10px;
          }
        }
    复制代码

    十、效果十

    依然将小球设为行内块,只需水平居中即可,可以设置外边距来调整小球之间的距离,通过关键帧来设置小球的translateY的值。(每个小球之间的延迟不必均分,差值可以减小)

    复制代码
    {animation: trans 1.2s ease infinite;}
    @keyframes trans {
          50%{
            opacity: 1;
            transform: translateY(30px);
          }
          70%{
            opacity: 1;
            transform: translateY(30px);
          }
          100%{
            opacity: 0;
            transform: translateY(60px);
          }
        }
    复制代码

    (未完待续)

  • 相关阅读:
    和菜鸟一起学linux之bluetooth学习记录基础知识
    教父马云的经典语录汇总
    win32 多线程基础
    自己收集整理的微软错误代码大全(中文和英文)
    如何解决数据库中的字符型字段值中包含'0A'时,导出的文件用EXECEL打开时行数变多或者将结果导入数据库出错
    win32 TCP网络文件传输服务器端1.23
    Android窗口管理服务WindowManagerService对窗口的组织方式分析
    和菜鸟一起学linux总线驱动之DMA传输
    win 32下c语言文件传输客户端1.23
    Resolution to the record count increasing of the file exported from DB when ‘0A’ is included in it
  • 原文地址:https://www.cnblogs.com/libin-1/p/7153407.html
Copyright © 2011-2022 走看看