css+div实现三维立体彩色柱状图伸缩动画效果代码
代码语言:html
所属分类:图表
代码描述:css+div实现三维立体彩色柱状图伸缩动画效果代码
代码标签: css div 三维 立体 彩色 柱状图 伸缩 动画
下面为部分代码预览,完整代码请点击下载或在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; --sat: 90%; --bg: hsl(var(--hue),var(--sat),90%); --fg: hsl(var(--hue),var(--sat),10%); --bar-light-t: 60%; --bar-light-l: 50%; --bar-light-r: 40%; --bar-a-hue: 223; --bar-a-t: hsl(var(--bar-a-hue),var(--sat),var(--bar-light-t)); --bar-a-l: hsl(var(--bar-a-hue),var(--sat),var(--bar-light-l)); --bar-a-r: hsl(var(--bar-a-hue),var(--sat),var(--bar-light-r)); --bar-b-hue: 253; --bar-b-t: hsl(var(--bar-b-hue),var(--sat),var(--bar-light-t)); --bar-b-l: hsl(var(--bar-b-hue),var(--sat),var(--bar-light-l)); --bar-b-r: hsl(var(--bar-b-hue),var(--sat),var(--bar-light-r)); --bar-c-hue: 283; --bar-c-t: hsl(var(--bar-c-hue),var(--sat),var(--bar-light-t)); --bar-c-l: hsl(var(--bar-c-hue),var(--sat),var(--bar-light-l)); --bar-c-r: hsl(var(--bar-c-hue),var(--sat),var(--bar-light-r)); --bar-d-hue: 313; --bar-d-t: hsl(var(--bar-d-hue),var(--sat),var(--bar-light-t)); --bar-d-l: hsl(var(--bar-d-hue),var(--sat),var(--bar-light-l)); --bar-d-r: hsl(var(--bar-d-hue),var(--sat),var(--bar-light-r)); --bar-shadow-op: 0.4; --trans-dur: 0.3s; font-size: calc(14px + (30 - 14) * (100vw - 280px) / (3840 - 280)); } body { background-color: var(--bg); color: var(--fg); display: grid; place-items: center; font: 1em/1.5 sans-serif; height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur); } .pl { width: 12em; height: 12em; } .pl, .pl__bars { display: flex; } .pl__bars, .pl__bar { transform-style: preserve-3d; } .pl__bars { justify-content: space-between; align-items: center; margin: auto; width: 8em; height: 8em; transform: translateY(2.75em) rotateX(60deg) rotateZ(-45deg); } .pl__bar { position: relative; width: 1em; height: 1em; } .pl__bar-t, .pl__bar-l, .pl__bar-r, .pl__bar-s { animation: bounce-t 2s infinite; position: absolute; left: 0; width: 100%; height: 100%; transform-origin: 0 0; } .pl__bar-t { top: 0; transform: translateZ(1em); } .pl__bar-l, .pl__bar-r, .pl__bar-s { top: 100%; } .pl__bar-l { animation-name: bounce-l; transform: rotateX(90deg) rotateY(-90deg); } .pl__bar-r { animation-name: bounce-r; transform: rotateX(90deg); } .pl__bar-s { animation-name: bounce-s; background-color: black; box-shadow: 0 0 0.125em 0.125em black; opacity: var(--bar-shadow-op); left: 0.125em; width: calc(100% - 0.25em); height: calc(100% - 0.125em); transition: opacity var(--trans-dur); } .pl__bar:nth-child(1) .pl__bar-t, .pl__bar:nth-child(1) .pl__bar-l, .pl__bar:nth-child(1) .pl__bar-r, .pl__bar:nth-child(1) .pl__bar-s { animation-delay: 0s; } .pl__bar:nth-child(1) .pl__bar-t { background-color: var(--bar-a-t); } .pl__bar:nth-child(1) .pl__bar-l { background-color: var(--bar-a-l); } .pl__bar:nth-child(1) .pl__bar-r { background-color: var(--bar-a-r); } .pl__bar:nth-child(2) .pl__bar-t, .pl__bar:nth-child(2) .pl__bar-l, .pl__bar:nth-child(2) .pl__bar-r, .pl__bar:nth-child(2) .pl__bar-s { animation-delay: 0.1s; } .pl__bar:nth-child(2) .pl__bar-t { background-color: var(--bar-b-t); } .pl__bar:nth-child(2) .pl__bar-l { background-color: var(--bar-b-l); } .pl__bar:nth-child(2) .pl__bar-r { background-color: var(--bar-b-r); } .pl__bar:nth-child(3) .pl__bar-t, .pl__bar:nth-child(3) .pl__bar-l, .pl__bar:nth-child(3) .pl__bar-r, .pl__bar:nth-child(3) .pl__bar-s { animation-delay: 0.2s; } .pl__bar:nth-child(3) .pl__bar-t { background-color: var(--bar-c-t); } .pl__bar:nth-child(3) .pl__bar-l { background-color: var(--bar-c-l); } .pl__bar:nth-child(3) .pl__bar-r { background-color: var(--bar-c-r); } .pl__bar:nth-child(4) .pl__bar-t, .pl__bar:nth-child(4) .pl__bar-l, .pl__bar:nth-child(4) .pl__bar-r, .pl__bar:nth-child(4) .pl__bar-s { animation-delay: 0.3s; } .pl__bar:nth-child(4) .pl__bar-t { background-.........完整代码请登录后点击上方下载按钮下载查看
网友评论0