当前位置:首页 > CSS

css面积图制作

2026-04-02 13:49:57CSS

使用 CSS 制作面积图

面积图是一种展示数据随时间或其他连续变量变化的可视化方式。以下介绍两种常见的实现方法:

方法一:纯 CSS + HTML 结构

通过叠加多个 div 元素模拟面积图效果,适合简单场景。

<div class="area-chart">
  <div class="area series-1" style="height: 60%"></div>
  <div class="area series-2" style="height: 40%"></div>
</div>
.area-chart {
  position: relative;
  width: 300px;
  height: 200px;
  background-color: #f5f5f5;
}

.area {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: rgba(75, 192, 192, 0.5);
  transition: height 0.3s ease;
}

.series-1 { background-color: rgba(75, 192, 192, 0.5); }
.series-2 { background-color: rgba(54, 162, 235, 0.5); }

方法二:CSS 结合 SVG

更灵活的方案,支持复杂曲线和动画:

css面积图制作

<svg class="area-svg" viewBox="0 0 300 200">
  <path class="area-path" d="M0,200 L30,150 L60,120 L90,180 L120,100 L150,50 L180,80 L210,120 L240,140 L270,90 L300,200 Z"/>
</svg>
.area-svg {
  width: 300px;
  height: 200px;
}

.area-path {
  fill: rgba(75, 192, 192, 0.5);
  stroke: #4bc0c0;
  stroke-width: 2;
  transition: d 0.5s ease;
}

进阶技巧

  • 数据绑定:通过 JavaScript 动态计算 height 或 SVG 路径的 d 属性
  • 响应式设计:使用 vw/vh 单位或 calc() 实现自适应
  • 动画效果:添加 CSS transition@keyframes 实现平滑过渡
  • 多系列叠加:使用 mix-blend-mode: multiply 实现颜色混合效果

注意事项

  • 复杂数据可视化建议使用专业库(如 Chart.js、D3.js)
  • 移动端需测试触摸事件兼容性
  • 考虑使用 CSS 变量(--data-height)动态控制样式

以上方法可根据实际需求选择,SVG 方案更适合需要精确控制路径的场景。

标签: 面积css
分享给朋友:

相关文章

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css继承制作教程

css继承制作教程

CSS继承的基本概念 CSS继承是指某些CSS属性可以从父元素传递到子元素的特性。并非所有属性都支持继承,但常见的文本相关属性(如font-family、color)默认具有继承性。通过合理利用继承,…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…

css如何制作圆

css如何制作圆

使用 border-radius 属性 通过设置 border-radius 属性可以轻松创建圆角或圆形元素。值为 50% 时,元素会呈现为圆形。 .circle { width: 100p…

css制作网页

css制作网页

CSS 网页设计基础 CSS(层叠样式表)用于控制网页的视觉呈现,包括布局、颜色、字体等。以下为关键方法和示例: 基础结构 HTML 文件需链接 CSS: <link rel="styles…

css 制作按钮

css 制作按钮

基础按钮样式 使用CSS创建一个基础按钮需要定义display、padding、background-color和border等属性。以下是一个简单示例: .button { display:…