css实现一个柱状图图表效果代码
代码语言:html
所属分类:图表
代码描述:css实现一个柱状图图表效果代码,在chrome中无需js,仅凭css就能实现,但是在其他浏览器需要js的一段代码。
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> data-chart { --data-chart-bar-bdrs: clamp(0.125rem, -0.35rem + 1cqi, 0.33rem); --data-chart-bar-c: currentColor; --data-chart-bdw: 1px; --data-chart-bds: solid; --data-chart-bdc: light-dark(#CCC, #666); --data-chart-nolabel-bdw: 1px; --data-chart-nolabel-bds: solid; --data-chart-nolabel-bdc: light-dark(#EBEBEB, #444); --data-chart-caption-h: 1.5rem; --data-chart-label-h: 20px; --data-chart-label-w: 5rem; --data-chart-mih: 275px; --data-chart-y-axis-w: 1.5rem; --_min: attr(min type(<number>), 0); --_max: attr(max type(<number>), 100); --_xs: attr(items-xs type(<number>), 0); --_sm: attr(items-sm type(<number>), 0); --_md: attr(items-md type(<number>), 0); --_lg: attr(items-lg type(<number>), 0); --_xl: attr(items-xl type(<number>), 0); --c1: hsla(210, 60%, 60%, .75); --c2: hsla(170, 45%, 55%, .75); --c3: hsla(100, 40%, 55%, .75); --c4: hsla(60, 40%, 60%, .75); --c5: hsla(35, 50%, 65%, .75); --c6: hsla(15, 55%, 60%, .75); --c7: hsla(350, 50%, 60%, .75); --c8: hsla(280, 40%, 60%, .75); --c9: hsla(240, 45%, 55%, .75); --c10: hsla(200, 30%, 65%, .75); background: var(--data-chart-bg, #FFF0); border-radius: var(--data-chart-bdrs, .5rem); box-sizing: border-box; container-type: inline-size; display: block; font-family: var(--data-chart-ff, ui-sans-serif, system-ui); padding: var(--data-chart-p, 0); & * { box-sizing: border-box; } caption { display: none; font-size: var(--data-chart-caption-fs, 11px); font-weight: var(--data-chart-caption-fw, 500); grid-area: 1 / 1 / 2 / 2; text-wrap: nowrap; } table { display: grid; grid-template-rows: var(--_gtr, var(--data-chart-caption-h) 1fr); min-height: var(--data-chart-mih); } tbody { container-type: size; display: grid; gap: var(--data-chart-bar-gap, .25rem); grid-area: 2 / 1 / 4 / 2; grid-template-columns: repeat(auto-fit, minmax(var(--data-chart-bar-miw, 1.25cqi), 1fr)); td { --_v: attr(data-v type(<number>), 0); --_pv: attr(data-pv type(<number>), var(--_v)); --_y: calc(1 - ((var(--_v) - var(--_min)) / (var(--_max) - var(--_min)))); --_py: calc(1 - ((var(--_pv) - var(--_min)) / (var(--_max) - var(--_min)))); background: var(--data-chart-bar-bg, var(--_bg, light-dark(hsla(210, 100%, 70%, .8), hsla(210, 60%, 60%, .8)))); color: #0000; font-size: var(--data-chart-bar-fs, clamp(0.5625rem, 0.45rem + .5cqi, 0.75rem)); font-weight: var(--data-chart-bar-fw, 400); height: calc(((var(--_v) - var(--_min)) / (var(--_max) - var(--_min))) * 100cqb); padding: var(--data-chart-bar-p, .75ch 0 0 0); text-align: center; &:first-of-type { border-radius: var(--data-chart-bar-bdrs) var(--data-chart-bar-bdrs) 0 0; } } th { border-block-start: var(--data-chart-x-axis-bdw, 0px) var(--data-chart-x-axis-bds, solid) var(--data-chart-x-axis-bdc, hsla(0, 0%, 41%, .95)); color: var(--data-chart-x-axis-c, light-dark(#444, #EEE)); display: none; font-size: var(--data-chart-x-axis-fs, clamp(0.5625rem, 0.4rem + .5cqi, 0.6875rem)); font-weight: var(--data-chart-x-axis-fw, 400); grid-row: calc(var(--_c, 1) + 1); height: var(--data-chart-label-h); overflow-inline: clip; padding: var(--data-chart-x-axis-p, 0); place-content: c.........完整代码请登录后点击上方下载按钮下载查看
网友评论0