【CSS3动画】利用CSS3制作“百度浏览器”官网奔跑的北极熊效果(不含背景移动)

【CSS3动画】利用CSS3制作“百度浏览器”官网奔跑的北极熊效果(不含背景移动)_第1张图片
本期带大家制作百度浏览器官网(目前官网已经注销)中奔跑的北极熊的动画效果。

动画原理

奔跑的北极熊动画原理是将北极熊奔跑的各个片段整合在一起,形成一张背景图片,然后设置一个盒子,将背景图片放入,通过设置

animation-timing-function: steps();

盒子不动,让背景图片以片段为单位移动,当速度达到足够快时,就感觉北极熊正在奔跑。
【CSS3动画】利用CSS3制作“百度浏览器”官网奔跑的北极熊效果(不含背景移动)_第2张图片

背景图片

首先准备一张背景图片,当作北极熊奔跑的背景,不设置背景图片也可以,但要设置背景颜色,方便观看北极熊奔跑动画。本案例用的背景图片是雪山背景图片。
雪山背景图片
背景图片1
北极熊奔跑的片段拼接图
bear

代码实现

1、搭建HTML结构

box为整体的大盒子,里面的img用于存放雪山背景图片,bear盒子用于展示北极熊奔跑动画。

<body>
    <div class="box">
        <img src="image/bg1.png" alt="" class="bg1">
        <div class="bear">div>
    div>
body>

设置背景盒子box,设置position: relative;相对定位是方便对bear盒子以及雪山背景图片进行定位。设置overflow: hidden;可以让超出盒子的图片隐藏起来。

2、CSS3对盒子进行修饰

.box {
            position: relative;
            overflow: hidden;
            width: 1300px;
            height: 600px;
            margin: 0 auto;
            background-color: #3b3d4b;
        }

将雪山背景图片放到box盒子的底部位置,因为原雪山背景图较大,因此我们需要对雪山背景图的高度进行修改,高度与宽度只需修改一个,另一个参数会等比例变化。

.bg1 {
            position: absolute;
            bottom: 0;
            height: 249px;
        }

bear盒子放置于box盒子的中部偏下区域,并将北极熊图片当作bear的背景图片插入。
因为北极熊图片为1600x100像素,一共有八个北极熊奔跑片段,因此我们的盒子应该设置为200x100像素,这样盒子每次只会展示一个北极熊片段。

.bear {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 200px;
            height: 100px;
            background: url(image/bear.png) no-repeat;
            /* animation: run .6s steps(8) infinite; */
        }

3、设置动画

初始位置为第一个北极熊片段,最后位置为最后一个北极熊片段,北因此整个过程北极熊背景y轴没有移动,只有x轴移动了1600像素的距离。
【CSS3动画】利用CSS3制作“百度浏览器”官网奔跑的北极熊效果(不含背景移动)_第3张图片

@keyframes run {
            0% {}

            100% {
                background-position: -1600px 0;
            }
        }

4、引用动画

定义动画之后,需要在bear盒子中引用动画,因为北极熊片段一共为8个,因此将steps设置成8

animation: run .6s steps(8) infinite;

这样我们就完成了在雪地里奔跑的北极熊的动画效果。

5、完整代码





    
    
    
    奔跑的北极熊
    



    
"box"> "image/bg1.png" alt="" class="bg1">
"bear">

你可能感兴趣的:(CSS3动画,css3,html5)