如何在SVG区域中居中显示文本
我试图将文本置于SVG区域的中心,但没有成功。有人对如何优化这一点有什么见解吗如何在SVG区域中居中显示文本,svg,icons,vector-icons,Svg,Icons,Vector Icons,我试图将文本置于SVG区域的中心,但没有成功。有人对如何优化这一点有什么见解吗 圣热讷维耶沃 OP正在评论: 我只希望文本位于彩色区域内,并且右侧朝上 在这种情况下,您不需要使用文本路径。你需要找到路径的中心。为此,首先获得路径的边界框:let bb=thePath.getBBox() 接下来,您将获得路径的中心: let x = bb.x + bb.width/2; let y = bb.y + bb.height/2; 最后,将文本的x和y属性设置为x和y,使舒尔确保文本围绕此点居中:
圣热讷维耶沃
OP正在评论:
我只希望文本位于彩色区域内,并且右侧朝上
在这种情况下,您不需要使用文本路径。你需要找到路径的中心。为此,首先获得路径的边界框:let bb=thePath.getBBox()
接下来,您将获得路径的中心:
let x = bb.x + bb.width/2;
let y = bb.y + bb.height/2;
最后,将文本的x和y属性设置为x和y,使舒尔确保文本围绕此点居中:text-anchor=“middle”显性基线=“middle”
让bb=path.getBBox();
text.setAttribute(“x”,bb.x+bb.width/2);
text.setAttribute(“y”,bb.y+bb.height/2)代码>
svg{边框:1px实心;宽度:300px}
圣热讷维耶沃
也许您需要为文本使用不同的路径。你可以选择一方为圣徒,另一方为吉纳维芙。此外,此id=“sainte genevieve”
不是有效的id@RobertLongson我做了,但没有用。@enxaneta我的目标是使文本居中;你说的边是什么意思?感谢您注意到无效的ID。尽管文本仍然显示。这会对文本的间距产生怎样的影响?你能编辑你的问题并添加一幅你想要达到的效果的图片吗?@enxaneta我没有画。我只希望文本位于彩色区域内,并且右侧朝上。