5分钟教你利用css3动画实现奔跑的北极熊效果

实现原理:利用css3动画中的animation-timing-function的steps(),让一张有连续动作图片一段一段的在页面上显示出来,从而实现动画效果。

1.需要素材:

在这里插入图片描述

2.准备一个div盒子

div盒子的作用:用于显示素材中的一只北极熊。因为我们的素材是1600x100,有8只北极熊,所以我们div盒子的宽高就是200x100,这样我们就把我们的素材分成8份了

<div class="box"></div>
body {
	margin: 0;
	padding: 0;
	/* 由于我们的素材是透明的,方便观看,我们加上灰色背景 */
	background-color: #ccc; 
}
.box {
	width: 200px;
	height: 100px;
	background: url("./bear-25676f9.png") no-repeat;
}

这样我们的页面就有个小熊了:
在这里插入图片描述

3.加上动画效果

动画:通过让背景图片每段从左向右每200px移动一次

@keyframes bear {
	100% {
	/* 因为小熊是从左向右进行显示的,因为box是没有移动的,从而背景图片的是向左走的。所以是-1600px,而高度是不变的 所以是0*/
		background-position: -1600px 0;
	}
}

在.box中调用bear这个动画

.box {
	width: 200px;
	height: 100px;
	background: url("./bear-25676f9.png") no-repeat;
	/*steps(8):将动画效果变成一段一段的展示,变成8段*/
	/* infinite: 让小熊一直重复的跑 */
	animation: bear 1s steps(8) infinite forwards;
}

完整代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        body {
            margin: 0;
            padding: 0;
            background-color: #ccc;
        }

        .box {
            width: 200px;
            height: 100px;
            background: url("./bear-25676f9.png") no-repeat;
            animation: bear 1s steps(8) infinite ;
        }

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

       
    </style>
</head>

<body>
    <div class="box"></div>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值