当前位置:首页 > CSS

css饼图制作

2026-04-01 23:32:44CSS

使用CSS制作饼图的方法

使用conic-gradient实现基础饼图

通过CSS的conic-gradient可以快速创建饼图。这种方法适合展示简单的比例分布。

.pie-chart {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(
    #FF6384 0% 30%,
    #36A2EB 30% 70%,
    #FFCE56 70% 100%
  );
}

使用transform和伪元素创建动画饼图

通过旋转伪元素实现更复杂的动画效果,适合需要交互的场景。

.pie-animated {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  position: relative;
  background: #FF6384;
  overflow: hidden;
}

.pie-animated::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #36A2EB;
  transform: rotate(0.3turn);
  transform-origin: left;
  animation: rotate 2s ease-in-out;
}

@keyframes rotate {
  from { transform: rotate(0turn); }
  to { transform: rotate(0.3turn); }
}

使用CSS变量实现动态饼图

结合CSS变量和JavaScript可以实现动态更新的饼图。

<div class="pie-dynamic" style="--percentage: 65;"></div>
.pie-dynamic {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(
    #4CAF50 calc(var(--percentage) * 1%),
    #ddd 0
  );
}

多段饼图的高级实现

对于需要展示多个数据段的场景,可以通过叠加多个conic-gradient实现。

.pie-multi {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: 
    conic-gradient(
      transparent 0 25%,
      #FF6384 0
    ),
    conic-gradient(
      transparent 0 50%,
      #36A2EB 0
    ),
    conic-gradient(
      transparent 0 75%,
      #FFCE56 0
    ),
    conic-gradient(
      transparent 0 100%,
      #9966FF 0
    );
  background-blend-mode: overlay;
}

添加标签和边框效果

为饼图添加装饰性元素增强可视化效果。

css饼图制作

.pie-decorated {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(
    #FF6384 0% 30%,
    #36A2EB 30% 70%,
    #FFCE56 70% 100%
  );
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  position: relative;
}

.pie-decorated::after {
  content: '';
  position: absolute;
  width: 80%;
  height: 80%;
  border-radius: 50%;
  background: white;
  top: 10%;
  left: 10%;
}

每种方法都有其适用场景,从简单的静态展示到复杂的动态交互都能覆盖。现代CSS特性如conic-gradient大大简化了饼图的实现过程,而结合CSS变量和动画可以创建更丰富的可视化效果。

标签: css
分享给朋友:

相关文章

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的::before和::after伪元素结合border属性可以创建简单的几何形状图标。例如制作一个三角形: .triangle { w…

css制作标尺

css制作标尺

使用CSS制作标尺的方法 方法一:使用线性渐变和伪元素 通过CSS的线性渐变和伪元素可以创建水平或垂直标尺。以下是一个水平标尺的示例代码: .ruler { width: 100%; he…

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制切换 通过<input type="radio">和<label>元素配合实现无JavaScript的Tab切换效果…

css 制作目录

css 制作目录

CSS 制作目录的方法 使用 CSS 可以轻松为网页内容创建美观且功能性的目录。以下是几种常见方法: 使用 ul 和 li 创建基础目录结构 <div class="toc"> &…

表格制作css

表格制作css

基础表格样式 使用CSS可以轻松地为HTML表格添加样式。以下是一个基础表格的HTML和CSS示例: <table class="basic-table"> <thead>…

css 制作购物网站

css 制作购物网站

布局设计 使用CSS Grid或Flexbox创建响应式布局。Grid适合整体页面结构,Flexbox适合局部组件排列。定义网格模板区域,如头部、导航、商品展示区、侧边栏和页脚。 .containe…