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; } }
效果如下所示:
还没有留言,还不快点抢沙发?