当前位置:首页 > 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和伪元素创建动画饼图

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

css饼图制作

.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可以实现动态更新的饼图。

css饼图制作

<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;
}

添加标签和边框效果

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

.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制作钢琴块 钢琴块可以通过HTML和CSS的配合实现,主要利用flexbox布局和伪元素来模拟钢琴的黑白键排列。 HTML结构 <div class="piano"> &l…

css制作炫酷按钮

css制作炫酷按钮

渐变背景按钮 使用CSS的linear-gradient属性创建渐变背景效果,结合阴影和过渡动画增强视觉冲击力。按钮悬停时通过改变渐变角度或颜色实现动态效果。 .gradient-btn { b…

css制作网站

css制作网站

基础结构与样式设置 HTML文件需包含基本结构,CSS通过<style>标签内嵌或外链.css文件引入。全局样式重置常用* { margin: 0; padding: 0; }清除默认间距…

css制作网页

css制作网页

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

css样式制作

css样式制作

CSS样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式。 选择器与属性 /* 标签选择器 */ p { color: blue; font…

css制作图标

css制作图标

使用CSS制作图标的方法 使用伪元素和边框 通过CSS的伪元素和边框属性可以创建简单的几何形状图标。例如,制作一个三角形图标: .triangle { width: 0; heigh…