当前位置:首页 > CSS

css制作圆环扇形

2026-03-11 20:11:06CSS

使用 CSS 制作圆环扇形

方法一:利用 conic-gradient 和伪元素

conic-gradient 可以创建圆锥渐变,适合制作扇形效果。结合伪元素和 border-radius 可以实现圆环扇形。

.ring-sector {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: conic-gradient(red 0deg 90deg, transparent 90deg);
  position: relative;
}

.ring-sector::after {
  content: '';
  position: absolute;
  width: 140px;
  height: 140px;
  background: white;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
  • conic-gradient 定义扇形角度范围(如 0deg 90deg 表示 0° 到 90° 的红色扇形)。
  • 伪元素 ::after 通过绝对定位覆盖中心部分,形成圆环效果。

方法二:使用 SVG 实现

SVG 的 pathcircle 元素可以更灵活地绘制扇形圆环。

<svg width="200" height="200" viewBox="0 0 200 200">
  <path d="M100,100 L100,0 A100,100 0 0 1 170,50 L100,100 Z" fill="red" />
  <circle cx="100" cy="100" r="70" fill="white" />
</svg>
  • pathd 属性通过贝塞尔曲线和圆弧命令绘制扇形。
  • circle 覆盖中心区域形成圆环。

方法三:CSS 旋转与裁剪

通过旋转和 overflow: hidden 裁剪实现动态扇形。

css制作圆环扇形

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

.slice {
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
  transform-origin: center;
  clip: rect(0, 100px, 200px, 0);
  transform: rotate(45deg);
}

.inner-circle {
  width: 140px;
  height: 140px;
  background: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
  • .slice 通过 cliprotate 控制扇形角度。
  • .inner-circle 形成圆环内圈。

注意事项

  • conic-gradient 兼容性较好,但需检查目标浏览器支持。
  • SVG 方案适合复杂图形或动画需求。
  • 动态调整角度时,CSS 旋转方案需配合 JavaScript 计算。

标签: 扇形圆环
分享给朋友:

相关文章

vue实现扇形图表

vue实现扇形图表

实现扇形图表的方法 在Vue中实现扇形图表可以通过多种方式完成,常见的方法包括使用第三方图表库或自定义SVG绘制。以下是两种常用的实现方式。 使用ECharts库 ECharts是一个功能强大的图表…

vue实现圆环进度

vue实现圆环进度

Vue 实现圆环进度的方法 使用 SVG 实现圆环进度 SVG 是实现圆环进度的常用方法,通过 stroke-dasharray 和 stroke-dashoffset 属性可以轻松控制进度条的显示。…

圆环css制作

圆环css制作

圆环CSS制作方法 使用CSS制作圆环可以通过多种方式实现,以下是几种常见的方法: 方法一:使用border-radius和border 通过设置元素的border-radius为50%使其成为圆…

js怎么实现圆环

js怎么实现圆环

使用 SVG 实现圆环 SVG 是一种矢量图形格式,可以通过 <circle> 或 <path> 标签绘制圆环。以下是一个简单的示例: <svg width="100"…

vue实现多个圆环

vue实现多个圆环

使用 SVG 实现多个圆环 SVG 是绘制圆环的高效方式,适合动态调整样式。以下是一个基于 Vue 的示例: <template> <svg width="200" hei…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 利用conic-gradient实现基础扇形 通过CSS的conic-gradient可以快速创建扇形效果。定义一个圆形元素并应用角度渐变色: .pie-chart { w…