rect可能是做到这一点的最佳方法(假设您只处理最简单的文本形式)。
tspan在SVG
1.1中本身没有“背景”,背景是在tspan之前绘制的任何东西。有许多情况需要考虑,例如tspan在具有圆形形状的textPath内。另请注意,在所有情况下,它都不像连续矩形那样简单,由于变换,字形定位等原因,单个tspan可以倾斜,旋转并划分为多个相交和不相交的形状。
我可以想到的另一种方法是无需编写脚本即可执行此操作,但是您需要事先知道字符串的宽度(例如,使用等宽字体)。如果有的话,则可以使用Ahem字体添加另一个tspan元素,将其放置在文档中其他tspan之前,并为其赋予x,y位置与要设置“背景”的tspan相同。
否则,执行此操作的方法是通过编写脚本并添加矩形(或带有类似Ahem的字体的tspans)。



