div+css实现立体长方体进度条动画效果代码
代码语言:html
所属分类:进度条
代码描述:div+css实现立体长方体进度条动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> @property --val { syntax: "<integer>"; inherits: false; initial-value: 0; } .progress-field { --w: 4rem; --l: 15rem; --bg: #F9F6EF20; --shdw: inset 0 0 1rem #fff2, inset 0 0 2rem #0005; --lft: calc(var(--val) / var(--max) * var(--l)); --bdr: .1rem; width: var(--l); height: var(--w); box-sizing: border-box; transform-style: preserve-3d; position: relative; background-image: linear-gradient(90deg, var(--fill-clr) var(--lft), var(--bg) 0); box-shadow: var(--shdw); border-radius: var(--bdr); transform: rotatex(15deg) rotatey(-50deg) rotatez(2deg); animation: rot 5s infinite both alternate, ani-val 10s infinite both alternate; } @keyframes rot { to { transform: rotatex(15deg) rotatey(50deg) rotatez(2deg); --val: var(--max); } } @keyframes ani-val { from { --val: 0; } to { --val: var(--max); } } .progress-field .progress { border-radius: var(--bdr); box-sizing: border-box; transform-style: preserve-3d; -webkit-appearance: none; appearance: none; position: relative; width: var(--l); height: var(--w); transform-origin: top; transform: rotatex(90deg); background-image: linear-gradient(90deg, var(--fill-clr) var(--lft), var(--bg) 0); } .progress:before { transform-style: preserve-3d; box-sizing: border-box; position: absolute; content: ""; inset: 0; transform: rotatex(90deg); transform-origin: left bottom; background-color: var(--bg); box-shadow: var(--shdw); border-radius: var(--bdr); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0