SVG中fill和stroke属性分别设置图形内部填充色和轮廓线颜色,fill默认为黑色或透明,stroke默认无边框;通过颜色名、十六进制、RGB等格式定义颜色,并可结合stroke-width、stroke-linecap等属性控制描边样式,如实现金黄色填充与深蓝边框。

在SVG(可缩放矢量图形)中,颜色填充主要通过 fill 和 stroke 两个属性来实现。它们决定了图形的内部颜色和边框颜色。
fill 属性:填充图形内部颜色
fill 用于设置图形内部的颜色。如果未指定,默认通常是黑色(black),或者某些情况下为透明(none)。
常用 fill 示例:-
fill="red"— 使用颜色名称 -
fill="#ff0000"— 使用十六进制颜色代码 -
fill="rgb(255,0,0)"— 使用 RGB 函数 -
fill="rgba(255,0,0,0.5)"— 支持透明度(注意:SVG 中更推荐使用 fill-opacity) -
fill="none"— 不填充颜色,内部透明
stroke 属性:描边颜色
stroke 用于设置图形轮廓线的颜色。默认情况下没有描边(即相当于 stroke="none")。
常用 stroke 示例:-
stroke="blue"— 颜色名称 -
stroke="#0000ff"— 十六进制值 -
stroke="rgb(0,0,255)"— RGB 表示法 -
stroke="none"— 去掉边框
还可以配合以下属性增强描边效果:
-
stroke-width— 控制边框粗细,如stroke-width="2" -
stroke-linecap— 定义线条端点形状(round、butt、square) -
stroke-dasharray— 创建虚线边框
颜色表示方式汇总
SVG 支持多种颜色定义格式:
- 颜色关键字:如 red、blue、green、black、white 等(共147个标准名)
- 十六进制:#RRGGBB 或简写 #RGB,例如 #f00 或 #ff0000 表示红色
- RGB 函数:rgb(255, 0, 0) 或 rgb(100%, 0%, 0%)
-
RGBA(含透明度):虽然支持,但在 SVG 中建议使用
fill-opacity或stroke-opacity - HSL/HSLA:现代浏览器支持 hsl(120, 100%, 50%) 等格式
实际示例
下面是一个带填充和描边的圆形:
这个圆会显示为金黄色填充,深蓝色边框,宽度为3像素。
基本上就这些。掌握 fill 和 stroke 的用法,再结合常用颜色格式,就能灵活控制 SVG 图形的外观了。不复杂但容易忽略细节,比如默认值和透明处理。










