react实现柱状视频观看数据汇总报表卡片效果代码
代码语言:html
所属分类:图表
代码描述:react实现柱状视频观看数据汇总报表卡片效果代码
代码标签: react 柱状 视频 观看 数据 报表 卡片 汇总
下面为部分代码预览,完整代码请点击下载或在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"> <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap'> <style> * { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --hue: 223; --sat: 20%; --gray0: hsl(0,0%,100%); --gray1: hsl(var(--hue),var(--sat),90%); --gray2: hsl(var(--hue),var(--sat),80%); --gray3: hsl(var(--hue),var(--sat),70%); --gray4: hsl(var(--hue),var(--sat),60%); --gray5: hsl(var(--hue),var(--sat),50%); --gray6: hsl(var(--hue),var(--sat),40%); --gray7: hsl(var(--hue),var(--sat),30%); --gray8: hsl(var(--hue),var(--sat),20%); --gray9: hsl(var(--hue),var(--sat),10%); --primary: hsl(var(--hue),90%,50%); --primary-t: hsla(var(--hue),90%,50%,0); --success: hsl(153,90%,40%); --danger: hsl(3,90%,60%); --neutral: var(--gray5); --trans-dur: 0.3s; --trans-timing: cubic-bezier(0.65,0,0.35,1); font-size: clamp(1rem,0.95rem + 0.25vw,1.25rem); } body, button { font: 1em/1.5 Inter, sans-serif; } body { background-color: var(--gray2); color: var(--gray9); display: flex; height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur); } button { cursor: pointer; outline: transparent; transition: background-color var(--trans-dur), box-shadow calc(var(--trans-dur) / 2), color var(--trans-dur); -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; } main { display: flex; overflow-x: hidden; padding: 1.5em 0; width: 100vw; height: 100vh; } small { font-size: 0.75em; } .icon { display: block; overflow: visible; width: 1em; height: 1em; } .icon--success { color: var(--success); } .icon--danger { color: var(--danger); } .icon--neutral { color: var(--neutral); } .activity { background-color: var(--gray0); border-radius: 1.5em; box-shadow: 0 0 0 1px var(--gray1) inset, 3em -1.5em 1.25em hsla(var(--hue), var(--sat), 10%, 0.2); color: var(--gray6); margin: auto; width: 17em; height: 23.5em; transition: background-color var(--trans-dur), box-shadow var(--trans-dur), color var(--trans-dur); } .activity__body { display: grid; gap: 1.5em; padding: 1.25em 1.5em; } .activity__button { background-color: transparent; border-radius: 0.375em; box-shadow: 0 0 0 3px var(--primary-t); color: var(--gray6); display: flex; width: 2.25em; height: 2.25em; } .activity__button:focus-visible { box-shadow: 0 0 0 3px var(--primary); } .activity__button:hover { background-color: var(--gray1); } .activity__button .icon { margin: auto; width: 1.5em; height: 1.5em; } .activity__change { color: var(--gray9); font-weight: 500; display: flex; align-items: center; gap: 0.375em; transition: color var(--trans-dur); } .activity__change .icon { width: 1.25em; height: 1.25em; } [dir=rtl] .activity__change .icon { transform: scaleX(-1); } .activity__container { overflow: hidden; } .activity__graph { display: flex; justify-content: space-between; margin: 0 -0.625em; } .activity__graph-bar { --bar-trans-dur: calc(var(--trans-dur) * 2); position: relative; text-align: center; width: 2em; } .activity__graph-bar-inner, .activity__graph-bar-outer { position: relative; } .activity__graph-bar-inner { background-color: var(--gray1); border-radius: 0.375em; margin: 0 auto 0.125em; overflow: hidden; width: 0.75em; transition: background-color var(--trans-dur); } .activity__graph-bar-knob { background-color: var(--gray0); border-radius: 50%; filter: saturate(5); margin: 0.125em; position: absolute; top: 0; left: 0; width: 0.5em; height: 0.5em; transition: background-color calc(var(--trans-dur) / 2) var(--trans-timing), transform var(--trans-dur) var(--trans-timing); } .activity__graph-bar-knob:focus-visible, .activity__graph-bar-knob:hover { background-color: var(--gray0) !important; transform: scale(1.333); } .activity__graph-bar-knob-track { position: absolute; inset: 0; } .activity__graph-bar-knob-track, .activity__graph-bar-svg { transition: transform var(--bar-trans-dur) var(--trans-timing); } .activity__graph-bar-svg { display: block; width: 100%; height: auto; } .activity__graph-empty { display: grid; place-items: center; width: 100%; height: 9em; } .activity__graph-label { font-size: 0.625em; } .activity__header { box-shadow: 0 1px 0 var(--gray1); display: flex; justify-content: space-between; align-items: center; padding: 0.5625em 1.5em; padding-inline-end: 1.125em; transition: box-shadow var(--trans-dur); } .activity__summary { display: grid; grid-template-columns: 1.5fr 1fr; } .activity__summary-end { display: flex; flex-direction: column; align-items: flex-end; } .activity__summary-start { line-height: 1.25; } .activity__tip { background-color: var(--gray1); box-shadow: 0 0 0 1px var(--gray2), 0 0 0.25em hsla(var(--hue), var(--sat), 10%, 0.2); color: var(--gray9); position: absolute; top: -0.25em; left: 50%; padding: 0 0.5em; transform: translate(-50%, -100%); transition: background-color var(--trans-dur), box-shadow var(--trans-dur), color var(--trans-dur); white-space: nowrap; } .activity__tip-wrapper { opacity: 0; pointer-events: none; position: absolute; inset: 0; transition: opacity var(--trans-dur), visibility var(--trans-dur), transform var(--bar-trans-dur) var(--trans-timing); visibility: hidden; z-index: 1; } .activity__graph-bar:first-child .activity__tip { transform: translat.........完整代码请登录后点击上方下载按钮下载查看
网友评论0