当前位置:首页 > CSS

css制作扇形图

2026-01-08 18:48:54CSS

使用CSS制作扇形图

方法一:使用clip-pathtransform

通过CSS的clip-pathtransform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。

.fan-shape {
  width: 200px;
  height: 200px;
  background-color: #3498db;
  border-radius: 50%;
  clip-path: polygon(50% 50%, 50% 0, 100% 0, 50% 50%);
  transform: rotate(30deg); /* 调整旋转角度控制扇形位置 */
}

方法二:使用conic-gradient

conic-gradient可以创建锥形渐变,非常适合制作扇形图。通过定义颜色起点和终点实现扇形效果。

css制作扇形图

.pie-chart {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(
    #e74c3c 0deg 90deg,
    #3498db 90deg 180deg,
    #2ecc71 180deg 270deg,
    #f1c40f 270deg 360deg
  );
}

方法三:利用伪元素和旋转

通过伪元素和旋转实现扇形。定义一个圆形,用伪元素覆盖部分区域并旋转。

css制作扇形图

.circle {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background-color: #e74c3c;
  position: relative;
  overflow: hidden;
}

.circle::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #3498db;
  transform-origin: 100% 50%;
  transform: rotate(90deg); /* 调整角度控制扇形大小 */
}

方法四:SVG结合CSS

使用SVG的pathcircle元素结合CSS样式实现更复杂的扇形效果。

<svg width="200" height="200" viewBox="0 0 200 200">
  <path d="M100,100 L200,100 A100,100 0 0,1 150,150 Z" fill="#e74c3c" />
</svg>

方法五:CSS变量动态控制扇形角度

通过CSS变量动态调整扇形角度,适合需要交互的场景。

.fan-dynamic {
  --angle: 90deg;
  width: 200px;
  height: 200px;
  background: conic-gradient(#3498db 0deg var(--angle), transparent var(--angle) 360deg);
  border-radius: 50%;
}
document.querySelector('.fan-dynamic').style.setProperty('--angle', '120deg');

注意事项

  • 使用clip-path时注意浏览器兼容性。
  • conic-gradient在旧版浏览器中可能需要前缀或替代方案。
  • 动态调整扇形角度时,确保JavaScript与CSS变量配合正确。

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

相关文章

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 selec…

css制作tab菜单

css制作tab菜单

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

css雪碧图制作

css雪碧图制作

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

如何制作css雪碧图

如何制作css雪碧图

什么是CSS雪碧图 CSS雪碧图(CSS Sprite)是一种将多个小图标或背景图像合并到一张大图中的技术,通过CSS的background-position属性控制显示特定部分。这种技术可以减少HT…

css如何制作未读图标

css如何制作未读图标

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

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…