纯css实现篮球动画效果
代码语言:html
所属分类:动画
代码描述:纯css实现篮球动画效果,通过布局实现篮球,再结合animat属性实现篮球运动效果
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> html, body { height: 100%; } body { -webkit-box-align: center; align-items: center; background: #F9C56D; display: -webkit-box; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; flex-direction: column; -webkit-box-pack: center; justify-content: center; } @-webkit-keyframes rotateBall { 0% { -webkit-transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg); transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg); } 50% { -webkit-transform: rotateY(360deg) rotateX(360deg) rotateZ(0deg); transform: rotateY(360deg) rotateX(360deg) rotateZ(0deg); } 100% { -webkit-transform: rotateY(720deg) rotateX(720deg) rotateZ(360deg); transform: rotateY(720deg) rotateX(720deg) rotateZ(360deg); } } @keyframes rotateBall { 0% { -webkit-transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg); transform: rotateY(0deg) rotateX(0deg) rotateZ(0deg); } 50% { -webkit-transform: rotateY(360deg) rotateX(360deg) rotateZ(0deg); transform: rotateY(360deg) rotateX(360deg) rotateZ(0deg); } 100% { -webkit-transform: rotateY(720deg) rotateX(720deg) rotateZ(360deg); transform: rotateY(720deg) rotateX(720deg) rotateZ(360deg); } } @-webkit-keyframes bounceBall { 0% { -webkit-transform: translateY(-70px) scale(1, 1); transform: translateY(-70px) scale(1, 1); } 15% { -webkit-transform: translateY(-56px) scale(1, 1); transform: translateY(-56px) scale(1, 1); } 45% { -webkit-transform: translateY(70px) scale(1, 1); transform: translateY(70px) scale(1, 1); } 50% { -webkit-transform: translateY(73.5px) scale(1, 0.92); transform: translateY(73.5px) scale(1, 0.92); } 55% { -webkit-transform: translateY(70px) scale(1, 0.95); transform: translateY(70px) scale(1, 0.95); } 85% { -webkit-transform: translateY(-56px) scale(1, 1); transform: translateY(-56px) scale(1, 1); } 95% { -webkit-transform: translateY(-70px) scale(1, 1); transform: translateY(-70px) scale(1, 1); } 100% { -webkit-transform: translateY(-70px) scale(1, 1); transform: translateY(-70px) scale(1, 1); } } @keyframes bounceBall { 0% { -webkit-transform: translateY(-70px) scale(1, 1); transform: translateY(-70px) scale(1, 1); } 15% { -webkit-transform: translateY(-56px) scale(1, 1); transform: translateY(-56px) scale(1, 1); } 45% { -webkit-transform: translateY(70px) scale(1, 1); transform: translateY(70px) scale(1, 1); } 50% { -webkit-transform: translateY(73.5px) scale(1, 0.92); transform: translateY(73.5px) scale(1, 0.92); } 55% { -webkit-transform: translateY(70px) scale(1, 0.95); transform: translateY(70px) scale(1, 0.95); } 85% { -webkit-transform: translateY(-56px) scale(1, 1); transform: translateY(-56px) scale(1, 1); } 95% { -webkit-transform: translateY(-70px) scale(1, 1); transform: translateY(-70px) scale(1, 1); } 100% { -webkit-transform: translateY(-70px) scale(1, 1); transform: translateY(-70px) scale(1, 1); } } .ball { -webkit-animation-name: bounceBall; animation-name: bounceBall; -webkit-animation-duration: 1.2s; animation-duration: 1.2s; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); border-radius: 50%; height: 60px; position: relative; -webkit-transform: translateY(-70px); transform: translateY(-70px); -webkit-transform-style: preserve-3d; transform-style: preserve-3d; width: 60px; z-index: 1; } .ball::before { background: radial-gradient(circle at 36px 20px, #FF8C16, #7c3f00); border: 2px solid #333333; border-radius: 50%; content: ''; height: calc(100% + 6px); left: -3px; position: absolute; top: -3px; -webkit-transform: translateZ(1vmin); transform: translateZ(1vmin); width: calc(100% + 6px); } .ball .inner { -webkit-animation-name: rotateBall; animation-name: rotateBall; -webkit-animation-duration: 25s; animation-durati.........完整代码请登录后点击上方下载按钮下载查看
网友评论0