css3-弹跳小球效果
css3-弹跳小球效果
一、html
<div class="center"> <span class="ball"></span> <span class="shadow"></span> </div>
二、css
*{
margin: 0;
padding: 0;
}
html,body{
width: 100%;
height: 100%;
}
body{
background-color: #c2b5fa;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.center{
position: relative;
top: 100px;
}
.center .ball{
display: block;
width: 50px;
border-top: 25px solid #b04eff;
border-bottom: 23px solid #8e00ff;
border-radius: 50%;
}
.center .shadow{
width: 50px;
height: 10px;
position: absolute;
top: 40px;
left: 0;
background-color: #6643b0;
border-radius: 50%;
opacity: 0.8;
}css部分,修饰小球,使用上下两个不同的边框色和圆角半径,绘制小球。
.center .ball{
display: block;
width: 50px;
border-top: 25px solid #b04eff;
border-bottom: 23px solid #8e00ff;
border-radius: 50%;
}效果如下所示:

css部分,修饰阴影,使用一个长方形width:50px;height:10px;和圆角半径,绘制小球的阴影。
.center .shadow{
width: 50px;
height: 10px;
position: absolute;
top: 40px;
left: 0;
background-color: #6643b0;
border-radius: 50%;
opacity: 0.8;
}效果如下所示:

.center .ball给球,添加css3动画,animation: animateBall 1s infinite linear;
.center .shadow给球的影子,添加css3动画,animation: animateShadow 1s infinite linear;
对应的动画,设置的关键帧,分别是:
.center .ball给球,设置的关键帧:
@keyframes animateBall{
0%{
transform: translateY(0) rotate(0deg);
}
50%{
transform: translateY(-300px) rotate(90deg);
}
100%{
transform: translateY(0) rotate(360deg);
}
}.center .shadow给球的影子,设置的关键帧:
@keyframes animateShadow{
0%{
transform: scale(1);
opacity: 0.8;
}
50%{
transform: scale(0.4);
opacity: 0.1;
}
100%{
transform: scale(1);
opacity: 0.8;
}
}效果如下所示:


吐槽一下


还没有留言,还不快点抢沙发?