You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现带圆角的三角形绘制?

实现带圆角三角形的非图片方案

不用静态图片的话,有几种可靠的CSS/SVG实现方式,以下是具体方案:

方法一:CSS锥形渐变 + 裁剪路径

利用锥形渐变定义三角形区域,配合容器圆角实现边角圆润,代码简洁:

.rounded-triangle {
  width: 200px;
  height: 200px;
  border-radius: 12px; /* 调整圆角大小 */
  background: conic-gradient(from 135deg at center, transparent 0 25%, #2563eb 25% 75%, transparent 75% 100%);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}
  • clip-path 裁剪出三角形形状
  • border-radius 给容器添加圆角,让三个边角自然圆润
  • 调整#2563eb可以修改三角形颜色,border-radius值控制圆角弧度

方法二:内嵌SVG(精准可控)

SVG能直接给路径添加圆角,兼容性好且效果精准,适合对形状要求高的场景:

<svg width="200" height="200" viewBox="0 0 100 100">
  <!-- rx/ry 控制圆角大小,修改fill值改变颜色 -->
  <path d="M50 5 L95 95 L5 95 Z" fill="#2563eb" rx="8" ry="8"/>
</svg>
  • d 属性定义三角形的三个顶点坐标(M50 5是顶部顶点,L95 95和L5 95是底部两个顶点)
  • rx和ry设置路径的圆角半径,数值越大圆角越明显

方法三:伪元素拼接(兼容旧浏览器)

如果需要兼容不支持锥形渐变的旧浏览器,可以用伪元素组合出带圆角的三角形:

.rounded-triangle {
  position: relative;
  width: 200px;
  height: 173px; /* 等边三角形高度:宽度×√3/2,保证形状规整 */
}
.rounded-triangle::before,
.rounded-triangle::after {
  content: "";
  position: absolute;
  background: #2563eb;
}
/* 顶部圆角 */
.rounded-triangle::before {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
/* 底部带圆角的三角形主体 */
.rounded-triangle::after {
  top: 12px; /* 与顶部圆形半径一致,避免缝隙 */
  width: 100%;
  height: calc(100% - 12px);
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
  • 用圆形伪元素实现顶部圆角,下方裁剪出的三角形添加底部两个圆角,组合成完整形状

内容的提问来源于stack exchange,提问作者Drown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:46:23