CSS动画(吃豆人)

1.整体效果

https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa6kTVaE9AT6qAHuvgRUMyNqNtgalYdG90a4DkbS1lCQ43mUuuQEQlAKT2vz2zI0rQdagx05lvQJbQ/640?wx_fmt=gif&from=appmsg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

CSS吃豆人效果是一种将经典游戏元素融入现代网页设计中的有趣尝试。通过CSS的强大动画功能,我们可以在网页上创造出吃豆人游走的动画效果,不仅为用户带来怀旧的乐趣,同时也增加了网页的互动性和趣味性。

2.整体代码

HTML

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>吃豆人</title>  
    <link rel="stylesheet" type="text/css" href="6_5.css">  
</head>  
<body>  
<div class="pacManBox">  
    <div class="eye"></div>  
    <div class="mouthOne"></div>  
    <div class="mouthTwo"></div>  
    <div class="beansOne"></div>  
    <div class="beansTwo"></div>  
</div>  
</body>  
</html>

CSS

.pacManBox {  
    display: inline-block;  
    position: relative;  
    margin: 120px;  
}  
  
/* 使用伪元素创建吃豆人的眼睛 */.pacManBox::before {  
    content: '';  
    width: 0.4em;  
    height: 0.4em;  
    border-radius: 50%;  
    background-color: #333;  
    position: absolute;  
    top: 6px;  
    left: 21px;  
    z-index: 2000;  
}  
  
/* mouthOne搭配mouthTwo组成吃豆人张嘴闭嘴的动画 */.mouthOne {  
    width: 0;  
    height: 0;  
    border: 25px solid #E1B204;  
    border-radius: 50%;  
    border-right-color: transparent;  
    animation: upup .32s 0s infinite;  
    position: relative;  
    z-index: 3;  
}  
  
@keyframes upup {  
    0% {  
        transform: rotate(270deg);  
    }  
  
    50% {  
        transform: rotate(1turn);  
    }  
  
    100% {  
        transform: rotate(270deg);  
    }  
}  
  
.mouthTwo {  
    width: 0;  
    height: 0;  
    border: 25px solid #E1B204;  
    border-right-color: transparent;  
    border-radius: 25px;  
    margin-top: -50px;  
    animation: downdown .32s 0s infinite;  
    position: relative;  
    z-index: 3;  
}  
  
@keyframes downdown {  
    0% {  
        transform: rotate(90deg);  
    }  
  
    50% {  
        transform: rotate(0);  
    }  
  
    100% {  
        transform: rotate(90deg);  
    }  
}  
  
/* 豆子不断移动 */.beansOne {  
    background-color: #E1B204;  
    border-radius: 50%;  
    width: 10px;  
    height: 10px;  
    position: absolute;  
    transform: translateY(-6px);  
    top: 25px;  
    left: 100px;  
    animation: beanAnimation 1s linear .52s infinite;  
}  
  
.beansTwo {  
    background-color: #E1B204;  
    border-radius: 50%;  
    width: 10px;  
    height: 10px;  
    position: absolute;  
    transform: translateY(-6px);  
    top: 25px;  
    left: 100px;  
    animation: beanAnimation 1s linear 1.1s infinite;  
}  
  
  
@keyframes beanAnimation {  
    75% {  
        opacity: .72;  
    }  
  
    100% {  
        transform: translate(-100px, -6px);  
    }  
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

写代码的大学生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值