Css兔子动画效果_祝大家兔年吉祥

更新日期: 2023-01-03 阅读: 1.6k 标签: 效果

今天给大家分享一下,使用纯css实现一只可爱的兔子,它拥有移动,跳跃等的动画效果,代码中使用了基本布局和css3动画 ,效果预览如下:


代码实现

首先定义 dom,页面中包含 2 个元素,分别代表兔子和云朵:

<div class="rabbit"></div>
<div class="clouds"></div>

css样式部分:

<style>
.tz_box {
width:100%;
height:300px;
background:#e2b29f;
font-size:120%;
display: flex;
align-items: center;
justify-content: center;
}
.rabbit {
width:5em;
height:3em;
background:#fff;
border-radius:70% 90% 60% 50%;
position:relative;
box-shadow:-0.2em 1em 0 -0.75em #b78e81;
-webkit-transform:rotate(0deg) translate(-2em,0);
transform:rotate(0deg) translate(-2em,0);
animation:hop 1s infinite linear;
z-index:1
}
.no-flexbox .rabbit {
margin:10em auto 0
}
.rabbit:before {
content:"";
position:absolute;
width:1em;
height:1em;
background:white;
border-radius:100%;
top:.5em;
left:-0.3em;
box-shadow:4em .4em 0 -0.35em #3f3334,0.5em 1em 0 white,4em 1em 0 -0.3em white,4em 1em 0 -0.3em white,4em 1em 0 -0.4em white;
animation:kick 1s infinite linear
}
.rabbit:after {
content:"";
position:absolute;
width:.75em;
height:2em;
background:white;
border-radius:50% 100% 0 0;
-webkit-transform:rotate(-30deg);
transform:rotate(-30deg);
right:1em;
top:-1em;
border-top:1px solid #f7f5f4;
border-left:1px solid #f7f5f4;
box-shadow:-0.5em 0 0 -0.1em white
}
.clouds {
background:white;
width:2em;
height:2em;
border-radius:100% 100% 0 0;
position:relative;
top:-5em;
filter:alpha(opacity=0);
opacity:0;
-webkit-transform:translate(0,0);
transform:translate(0,0);
animation:cloudy 1s infinite linear forwards;
box-shadow:5em 2em 0 -0.3em white,-2em 2em 0 0 white
}
.clouds:before,.clouds:after {
content:'';
position:absolute;
box-shadow:5em 2em 0 -0.3em white,-2em 2em 0 white
}
.clouds:before {
width:1.25em;
height:1.25em;
border-radius:100% 100% 0 100%;
background:white;
left:-30%;
bottom:0
}
.clouds:after {
width:1.5em;
height:1.5em;
border-radius:100% 100% 100% 0;
background:white;
right:-30%;
bottom:0
}
@keyframes hop {
20% {
-webkit-transform:rotate(-10deg) translate(1em,-2em);
transform:rotate(-10deg) translate(1em,-2em);
box-shadow:-0.2em 3em 0 -1em #b78e81
}
40% {
-webkit-transform:rotate(10deg) translate(3em,-4em);
transform:rotate(10deg) translate(3em,-4em);
box-shadow:-0.2em 3.25em 0 -1.1em #b78e81
}
60%,75% {
-webkit-transform:rotate(0) translate(4em,0);
transform:rotate(0) translate(4em,0);
box-shadow:-0.2em 1em 0 -0.75em #b78e81
}
}
@keyframes kick {
20%,50% {
box-shadow:4em .4em 0 -0.35em #3f3334,0.5em 1.5em 0 white,4em 1.75em 0 -0.3em white,4em 1.75em 0 -0.3em white,4em 1.9em 0 -0.4em white
}
40% {
box-shadow:4em .4em 0 -0.35em #3f3334,0.5em 2em 0 white,4em 1.75em 0 -0.3em white,4.2em 1.75em 0 -0.2em white,4.4em 1.9em 0 -0.2em white
}
}
@keyframes cloudy {
40% {
filter:alpha(opacity=75);
opacity:.75;
-webkit-transform:translate(-3em,0);
transform:translate(-3em,0)
}
55% {
filter:alpha(opacity=0);
opacity:0;
-webkit-transform:translate(-4em,0);
transform:translate(-4em,0)
}
90% {
-webkit-transform:translate(0,0);
transform:translate(0,0)
}
}
</style>

通过display: flex实现居中布局,border-radius来画出兔子的身体,然后用径向渐变画出兔子的眼睛,用伪元素画出兔子的右耳、尾巴和阴影,用阴影画出兔子的左耳、腿、云朵,
最后利用css3动画增加兔子跳动和云朵飘动的动画。

最后“fly63前端网”祝大家兔年大吉大利,财源滚滚!!


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/12289

相关推荐

css3 斜切角/斜边的实现方式

设计图含有斜切角的效果时,我们一般想到的方法是切出四个角为背景,然后用border连起来,这样就能显示出该效果了,那么直接使用css呢?下面就整理css做斜边的效果。

CSS3的过渡效果,使用transition实现鼠标移入/移出效果

在css中使用伪类虽然实现了样式的改变,但由于没有过渡效果会显得很生硬。以前如果要实现过渡,就需要借助第三方的js框架来实现。现在只需要使用CSS3的过渡(transition)功能,就可以从一组样式平滑的切换到另一组样式。

css制作从下往上逐渐显示的div

其中div1是整个容器,div2是需要从下往上显示的div。如果只是改变height高度的话,会导致div从上往下慢慢显示,所以并不能直接设置div2的高度来达成效果,此时我们需要一个遮罩mask来帮助div2达成想要的效果。

CSS遮罩效果(模糊效果,阴影效果,毛玻璃效果)

一般遮罩加上透明度opacity就是阴影效果。阴影效果和一般遮罩一样,唯一不同的是设置.mask遮罩的背景色用rgba()表示,当然hsla()也是可以的。模糊效果(毛玻璃效果) 通过 filter来实现

js如何实现新手引导效果?

js最近有个小伙伴问到了怎么实现新手引导的效果,然后便去网上找了下实现方案。可以通过css的border来实现。

css文字选中效果

文字选中效果,这个可能很少有人注意过。在默认状态先一般选中的文本颜色是白字蓝底的,不过可以通过CSS进行设置。::selection定义元素上的伪选择器,以便在选定元素时设置其中文本的样式。

CSS垂直翻转/水平翻转

随着现代浏览器对CSS3的支持愈发完善,对于实现各个浏览器兼容的元素的水平翻转或是垂直翻转效果也就成为了可能。相关的CSS代码如下:

使用 JavaScript 实现分屏视觉效果

今天这篇文章就来讲讲使用JavaScript来实现这种分屏的视觉UI效果。现在在网站上这种分屏视觉效果应用的也非常广泛,比如 Corsair website。

css左边竖条的实现方法

问题描述:在只使用一个标签的情况下实现左边竖线。使用border;使用伪元素来实现;内/外阴影;drop-shadow;渐变 linearGradient

css 遮照镂空效果

一:最简单最粗暴的方法!截图!二:利用css3的阴影效果。三:利用css的边框属性。四:最麻烦的一个,利用canvas的绘图功能。五:遮罩层加box

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!