当前位置:首页 > 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 制作报表主要涉及表格样式的设计、布局优化以及响应式处理。以下是几种常见的方法和技巧: 基础表格样式 通过 CSS 可以增强 HTML 表格的视觉效果,使其更符合…

css怎么制作首字下沉

css怎么制作首字下沉

首字下沉的实现方法 首字下沉是一种常见的排版效果,通过放大段落的首字母并使其下沉,可以增强文本的视觉吸引力。以下是几种实现方法: 使用::first-letter伪元素 通过CSS的::first-…

css下拉箭头的制作

css下拉箭头的制作

使用伪元素制作下拉箭头 通过CSS的::after或::before伪元素结合边框属性创建箭头。设置元素的position: relative,伪元素使用绝对定位调整位置。 .dropdown {…

css 边框制作

css 边框制作

基础边框设置 使用 border 属性可快速设置边框样式、宽度和颜色: .element { border: 1px solid #000; /* 宽度 | 样式 | 颜色 */ } 样式选…

css菜单制作

css菜单制作

CSS 菜单制作方法 水平导航菜单 使用 display: inline-block 或 flexbox 可以轻松创建水平导航菜单。以下是一个基本示例: <nav> <ul c…

css制作图标

css制作图标

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