默认情况下,SVG中文本元素的锚点位于左下角,但我希望它位于左上角,因为我还创建了一个矩形作为文本的背景,但它是显示不正确,因为文本高于矩形(因为矩形锚/偏移位于左上角)。有没有办法解决这个问题,因此文本和矩形都可以在相同的坐标处绘制并显示在同一位置。
答案 0 :(得分:5)
dominant-baseline属性/属性对我有用:
svg {
dominant-baseline: hanging;
}
答案 1 :(得分:3)
您为文本元素提供的坐标(x
和y
)将用作文本的基线。这是有道理的,因为如果在同一行上有不同字体大小的文本,您可能希望它们的基线对齐。
没有“自动”方式来做你想要的。 SVG元素总是绝对定位。
您只需将y
坐标放大一点就可以向下移动文本。
或者,您可以添加dy
属性以将文本向下移动一点。甚至可以使用transform
属性来执行相同操作。但是使用这些方法中的任何一种都不会真正简化你的过程。