div+css实现三维原子核旋转动画效果代码
代码语言:html
所属分类:动画
代码描述:div+css实现三维原子核旋转动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <style> * { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --hue: 223; --bg: hsl(var(--hue),90%,10%); --fg: hsl(var(--hue),90%,90%); --primary: hsl(var(--hue),90%,50%); --trans-dur: 0.3s; font-size: calc(20px + (40 - 20) * (100vw - 320px) / (2560 - 320)); } body { background-color: var(--bg); color: var(--fg); display: flex; font: 1em/1.5 sans-serif; height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur); } .pl { --dur: 3s; margin: auto; position: relative; width: 8em; height: 8em; } .pl__nucleus, .pl__nucleus-particle { position: absolute; } .pl__nucleus { top: 50%; left: 50%; transform-style: preserve-3d; } .pl__nucleus-particle, .pl__ring, .pl__orbit, .pl__electron { animation: particleTop var(--dur) linear infinite; } .pl__nucleus-particle { background-color: var(--primary); background-image: radial-gradient(37.5% 37.5% at 37.5% 37.5%,hsla(var(--hue),10%,90%,0.25) 48%,hsla(var(--hue),10%,90%,0) 50%); border-radius: 50%; box-shadow: -0.125em -0.125em 0 hsla(var(--hue),10%,10%,0.25) inset; top: calc(50% - 0.5em); left: calc(50% - 0.5em); width: 1em; height: 1em; transition: background-color var(--trans-dur); } .pl__nucleus-particle:nth-child(2n) { background-color: hsl(var(--hue),90%,70%); } .pl__nucleus-particle:nth-child(n + 4):nth-child(-n + 9) { animation-name: particleMiddle; } .pl__nucleus-particle:nth-child(n + 10):nth-child(-n + 12) { animation-name: particleBottom; } .pl__nucleus-particle:nth-child(2) { animation-delay: calc(var(--dur) * -0.33); } .pl__nucleus-particle:nth-child(3) { anim.........完整代码请登录后点击上方下载按钮下载查看
网友评论0