前端动画小记---bilibili ( ゜-゜)つロ客户下载小动画

逛哔哩哔哩 ( ゜-゜)つロPC版的时候看到一个蛮有意思的动画,指导用户去下载客户端,示意图如下。

看起来蛮复杂的样子,还有线条的幻化成各种形状。debug一下得出真相,此乃动画雪碧图实现的。

雪碧图概念:雪碧图也叫css精灵,一种网页图片应用处理方式,将页面涉及到的图片零星图片集中到一张图上使用,主要利用css background-position 定位要显示的图片位置。

雪碧图文件:

html代码:很简单的一句,引入一个div空间用于展示图片。

<div id="elevator-mobile-app" class="app-icon" style="background-position-x: 0px;"></div>

  

css代码:动画的实现几乎全在这里了。

  /*设置一下div框的大小等属性*/.app-icon {
            position: absolute;
            left: 100px;
            width: 80px;
            height: 80px;
            background-image: url(../img/app-download.png);
        }
/*定义鼠标进入元素模块时的动画*/
.easy-in {
            animation-timing-function: steps(15);
            animation-name: phone-in;
            animation-duration: 1.5s;
            animation-iteration-count: 1;
            animation-fill-mode: forwards;
            background-position: left;
        }

        @keyframes phone-in {
             0% {
                 background-position: left;
             }

             100% {
                 background-position: right;
             }
         }
        /* opera */
        @-o-keyframes  phone-in {
            0% {
                background-position: left;
            }

            100% {
                background-position: right;
            }
        }
        /* firefox */
        @-moz-keyframes  phone-in {
            0% {
                background-position: left;
            }

            100% {
                background-position: right;
            }
        }
        /* safari 和 chrome */
        @-webkit-keyframes  phone-in {
            0% {
                background-position: left;
            }

            100% {
                background-position: right;
            }
        }

  定义鼠标移出元素块时的动画

.easy-out {
            /*
            * 检索或设置动画过渡类型,两个参数。
            * 当设置为step函数时,第一个参数必须是正整数,指定函数的步数;
            * 第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
            */
            animation-timing-function: steps(15,start);
            /*动画名称*/
            animation-name: phone-out;
            /*动画持续时间*/
            animation-duration: 1.5s;
            /*动画循环次数,取值一infinite:无限循环  取值二具体数字*/
            animation-iteration-count: 1;
            /*检索或设置对象动画时间之外的状态
            * none:默认值。不设置对象动画之外的状态
            * forwards:设置对象状态为动画结束时的状态
            * backwards:设置对象状态为动画开始时的状态
            * both:设置对象状态为动画结束或开始的状态
            */
            animation-fill-mode: forwards;
            background-position: right;
        }

        @keyframes phone-out {
            0% {
                background-position: right;
            }

            100% {
                background-position: left;
            }
        }

        @-o-keyframes phone-out {
            0% {
                background-position: right;
            }

            100% {
                background-position: left;
            }
        }

        @-moz-keyframes phone-out {
            0% {
                background-position: right;
            }

            100% {
                background-position: left;
            }
        }

        @-webkit-keyframes phone-out {
            0% {
                background-position: right;
            }

            100% {
                background-position: left;
            }
        }

  javascript 鼠标事件:

//鼠标指针穿过被选元素时,才会触发 mouseenter 事件。
    $(‘#elevator-mobile-app‘).mouseenter(function () {
        $(‘#elevator-mobile-app‘).removeClass(‘easy-out‘);
        $(‘#elevator-mobile-app‘).addClass(‘easy-in‘);
    })

    //在鼠标指针离开被选元素时,才会触发 mouseleave 事件。
    $(‘#elevator-mobile-app‘).mouseleave(function () {
        $(‘#elevator-mobile-app‘).removeClass(‘easy-in‘);
        $(‘#elevator-mobile-app‘).addClass(‘easy-out‘);
    })

  最终效果:

原文地址:https://www.cnblogs.com/hongdiandian/p/8514709.html

时间: 2024-10-07 12:04:04

前端动画小记---bilibili ( ゜-゜)つロ客户下载小动画的相关文章

9款极具创意的HTML5/CSS3进度条动画(免积分下载)

尊重原创,原文地址:http://www.cnblogs.com/html5tricks/p/3622918.html 免积分打包下载地址:http://download.csdn.net/detail/yangwei19680827/7352505 今天我们要分享9款极具创意的HTML5/CSS3进度条动画,这些进度条也许可以帮你增强用户交互和提高用户体验,喜欢的朋友就收藏了吧. 1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的这款HTML5/CSS3进度条模拟了真实的图片加

web前端入门到实战:CSS 阴影动画优化技巧

box-shaodw 在我们的工作中使用以及越来越多,伴随阴影的动画或多或少都有一点.假设,我们有下面这样一个盒子: div { width: 100px; height: 100px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } 希望 hover 的时候,盒阴影从 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) 过渡到 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3). box-sh

简单小动画+微博简单模拟2

一.ImageView实现旋转小动画 注意:参数为弧度,不要忘记除数加.0 [UIView animateWithDuration:0.3 animations:^{ self.addImageView.transform=CGAffineTransformMakeRotation(45/180.0*M_PI); }]; 二.button响应点击弹出小界面 弹簧效果 [UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NST

0122——简单小动画+微博简单模拟2

一.ImageView实现旋转小动画 注意:参数为弧度,不要忘记除数加.0 [UIView animateWithDuration:0.3 animations:^{ self.addImageView.transform=CGAffineTransformMakeRotation(45/180.0*M_PI); }]; 二.button响应点击弹出小界面 弹簧效果 [UIView animateWithDuration:<#(NSTimeInterval)#> delay:<#(NST

iOS 小动画

一.图片旋转 CABasicAnimation* rotationAnimation; rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 ]; rotationAnimation.duration = 1; rotationAnimati

使用SpannableString实现一个load小动画

依然是github开源项目:WaitingDots 这个项目代码不多,实现的非常easy.可是非常有意思由于动画的基本元素不是画出来的,而是使用了spannableString来实现. DotsTextView.java JumpingSpan.java MainActivity.java DotstextView是动画的实现主体. JumpingSpan是基本元素,是动画中的插件 MainActivity中仅仅要在布局中引入DotsTextView就可以. 下面是切割线,show code:

【CSS3】横屏引导小动画

主要知识点: @media all and (orientation : landscape) { /* 这是匹配横屏的状态,横屏时的css代码 */} @media all and (orientation : portrait){ /* 这是匹配竖屏的状态,竖屏时的css代码 */} animation: name( keyframe 名称) duration (规定完成动画所花费的时间,以秒或毫秒计) timing-function (规定动画的速度曲线) delay (规定在动画开始之前

web前端基础教学技术讲解之css3动画学习

关于动画.我们学习分为三大点: ? 一.过渡动画.即 2 d 变换 所谓过渡动画,就是从初始状态过渡到结束状态这个过程中所产生的动画. ? 过渡(transition)本身需要定义参数.否则,看不到效果.我们学到的可定义的参数有以下几点: ? transition-property:规定对哪个属性进行过渡. ? transition-duration:定义过渡的时间,默认是0. ? transition-timing-function:定义过渡动画的缓动效果,如淡入.淡出等. ? linear

Android动画之萌萌哒蜡烛吹蜡烛动画

一.简介 最近开始写一些文章记录一下以前的一些自己写的小项目或者是定义View积累,积灰的东西还是要多翻出来整理整理看看的,在我的csdn上也有.这个只完成了一部分燃起熄灭的动画,没有为何燃起火焰的动画,希望有兴趣的同学也可以接着完成并分享,话不多说,我们来看这两根萌萌的小蜡烛. 小蜡烛憋足气把火焰燃起,一下被旁边的哥们吹灭了 0^0 ,看起来还是萌气十足的啊.看着图大家应该能想到应该怎么实现了吧,自定义View!对了,但是具体要怎么把这个过程做好呢,跟着脚步一起来看一看吧.代码稍微有点多,大家