css实现无限三维齿轮滚动填充动画效果代码
代码语言:html
所属分类:动画
代码描述:css实现无限三维齿轮滚动填充动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> *, *::before, *::after { padding: 0; margin: 0; box-sizing: border-box; } body { background-color: #222; color: #fff; min-height: 100vh; display: grid; place-items: center; perspective: 1300px; overflow: clip; * { transform-style: preserve-3d; } } .scene { position: relative; -webkit-animation: sceneRotate 50s infinite linear; animation: sceneRotate 50s infinite linear; transform: rotateX(-30deg); * { position: absolute; } --duration: 8s; --outerSize: 8em; --innerSize: 4em; --wheelDepth: 2em; --_outerWidth: calc(tan(15deg) * (var(--outerSize) / -2)); --_inX: calc(var(--_outerWidth) * 60); } @-webkit-keyframes sceneRotate { from { transform: rotateX(-30deg) rotateY(0deg); } to { transform: rotateX(-30deg) rotateY(360deg); } } @keyframes sceneRotate { from { transform: rotateX(-30deg) rotateY(0deg); } to { transform: rotateX(-30deg) rotateY(360deg); } } .floor { inset: -30em; transform: translateY(calc((var(--outerSize)) / 2 - 1px)) rotateX(90deg); background-image: radial-gradient(closest-side, transparent 25%, 60%, #222 80%); } .zoom { -webkit-animation: zoom var(--duration) infinite linear; animation: zoom var(--duration) infinite linear; } @-webkit-keyframes zoom { 0% { transform: scale3d(1, 1, 1); } 100% { transform: scale3d(2, 1, 2); } } @keyframes zoom { 0% { transform: scale3d(1, 1, 1); } 100% { transform: scale3d(2, 1, 2); } } .shadow { inset: -5em; border-radius: 50%; border: 1em solid #0007; -webkit-animation: shadow var(--duration) infinite; animation: shadow var(--duration) infinite; transform: translateY(calc((var(--outerSize)) / 2 - 1px)) rotateX(90deg) translateY(calc((var(--outerSize) + var(--wheelDepth)) / -2)) translateX(var(--_inXs, 0)); filter: blur(1em); } @-webkit-keyframes shadow { 0% { background-color: #0007; transform: translateY(calc((var(--outerSize)) / 2 - 1px)) rotateX(90deg) translateY(calc((var(--outerSize) + var(--wheelDepth)) / -2)) translateX(var(-.........完整代码请登录后点击上方下载按钮下载查看
网友评论0