当前位置:首页 > CSS

css制作扇形图

2026-02-12 14:52:36CSS

使用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%
  );
}

其中百分比值控制各扇区的角度范围,颜色值可自定义。

通过transformclip-path创建单个扇区

需要单独控制某个扇区时,可组合使用旋转和裁剪:

css制作扇形图

.sector {
  width: 100px;
  height: 100px;
  background: #4CAF50;
  border-radius: 100% 0 0 0;
  transform-origin: right bottom;
  transform: rotate(45deg);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

调整rotate()角度和clip-path形状可改变扇区大小。

使用伪元素构建半圆扇区

通过::before::after创建半圆效果:

css制作扇形图

.half-circle {
  position: relative;
  width: 200px;
  height: 100px;
  overflow: hidden;
}
.half-circle::after {
  content: '';
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #3498db;
  clip-path: polygon(0 0, 100% 0, 50% 50%);
}

SVG与CSS结合方案

更精确的控制可以使用内联SVG配合CSS样式:

<svg viewBox="0 0 100 100" class="svg-pie">
  <path d="M50 50 L50 0 A50 50 0 0 1 100 50 Z" fill="#e74c3c"/>
</svg>

通过修改SVG路径的d属性和CSS填充色实现动态效果。

动画效果实现

为扇形添加旋转动画增强交互性:

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.animated-sector {
  animation: spin 3s linear infinite;
}

关键点在于合理组合CSS的图形处理属性,现代浏览器对conic-gradient的支持已较完善,但需要针对旧版本浏览器提供降级方案。动态数据展示建议结合JavaScript实时计算角度值。

标签: 扇形css
分享给朋友:

相关文章

css div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

css表单制作

css表单制作

基础表单结构 使用HTML创建表单的基本结构,包含<form>标签及输入字段。表单通常需要action(提交地址)和method(提交方法)属性。 <form action="/s…

css 制作目录

css 制作目录

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

css雪碧图制作

css雪碧图制作

CSS雪碧图制作方法 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过减少HTTP请求提升网页性能。以下是制作和使用雪碧图的详细方法: 准备图像素材 收集…

css如何制作未读图标

css如何制作未读图标

未读图标实现方法 通过CSS可以创建多种未读图标的样式,以下是几种常见的实现方式: 使用伪元素创建小红点 .unread-badge { position: relative; disp…

css制作旋转

css制作旋转

CSS旋转的实现方法 CSS提供了多种方式实现元素的旋转效果,主要通过transform属性配合旋转函数完成。以下是常见的旋转实现方式: 使用rotate()函数 transform: rotate…