CSS 三角形生成器,免费

利用边框技巧创建纯 CSS 三角形。选择方向、大小与颜色。

100px
100px

CSS 代码

边框小技巧,一个 25 年老的 CSS hack,至今还有效

CSS 三角形技术利用了 CSS 边框绘制算法处理相邻边框的方式。当两个边框在一个角相遇时,它们之间的分界线会以平分该角的角度被画成一条对角线。在普通大小的元素上,角很小,对角线几乎看不见。但如果你把元素的宽度和高度设为 0 并给它较粗的边框,角就会占据整个视觉空间,原本不可见的对角线变成了一个三角形可见的边。把四条边框中的三条设为透明,第四条保留颜色,你就画出了一个朝着远离彩色一侧的方向的三角形。这一技术大约在 2007–2008 年由 Chris Coyier 等人在早期CSS-tricks 文章中被广泛记录;从那时起,它一直是 Web 设计师工具箱里的常备项,因为它能产生一个清晰、可缩放、可十六进制上色的形状,无需 SVG,无需 PNG,无需额外 HTTP 请求,也无需复杂 CSS。其数学很简单但反直觉(三角形的等于彩色一侧的边框宽度;它的等于相邻透明一侧边框宽度的两倍)。本生成器替你处理这些计算,你拖动滑块即可,无需亲自计算边框宽度。

现代替代方案,clip-path、SVG、conic-gradient

2026 年,边框技巧三角形有了竞争对手。CSS clip-path 配合 polygon() 函数(CSS Masking Module Level 1,自 2017 年起成为基线浏览器支持)让你可以把任何元素裁剪成任意多边形:clip-path: polygon(50% 0, 100% 100%, 0 100%) 会在任何元素上画出一个朝上的三角形。clip-path 更灵活(可以有任意数量的顶点,不止三个;可作用于任何带内容的元素,不仅是空 div),与变换和动画组合得更好,并通过较新的 shape() 函数支持圆角。内联 SVG<svg><polygon points="50,0 100,100 0,100"/></svg>)给予你最多控制,描边、填充、渐变、通过 SMIL 或 CSS 动画、通过 <title> 元素提供可访问性。conic-gradient 通过巧妙放置的颜色停止点也能产生三角形形状,但更像是好奇心实验而非实用模式。在简单装饰场景(提示框指针、下拉箭头、对话气泡尾巴)中,边框技巧三角形仍是正确选择,因为这里简洁与零开销比灵活性更重要;当三角形是更复杂形状的一部分、需要把文本放进去,或者设计可能需要圆角时,clip-path 更合适。

CSS 三角形真正出力的地方

可访问性考量

CSS 三角形是纯视觉装饰,它们没有语义含义,在可访问性树中也无存在感。屏幕阅读器不会朗读它们。对于纯装饰用途(对话气泡尾巴、面包屑分隔符)这是正确行为。对于传达含义的三角形(指向当前节段的箭头、表示「点击查看更多」的下拉箭头),含义需要通过其他途径传达:下拉触发器上的 aria-expanded 属性、可见的文字标签、按钮上的 aria-label。不要依赖 CSS 三角形来传达状态;把它当作通过其他属性以语义方式传达的状态的视觉强化。CSS ::before::after 伪元素的内容通常不会被屏幕阅读器朗读,这对装饰性形状来说正合适。

本生成器产出的三角形类型

相关工具