我想在此圆内将文本(两行)垂直和水平居中,但是出了点问题:
我也试图将背景图像放在中间,但我希望它位于虚线/虚线边框层的下方,而不是上方。有什么建议吗?
这是文本的显示方式,但我希望将其作为文本而不是tspan。当然还有一个居中的背景图像。
答案 0 :(得分:0)
如果您不想使用tspan
,则需要两个text
元素。您可以将两个元素的坐标都设置为50%/ 50%,然后..
middle
。baseline/hanging
(要在各行之间留出更多空间,您需要调整{{ 1}}进行协调)。示例:
y
修改
在多于两行的情况下,将一个<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<style>
text {
font-family: sans-serif;
font-size: 30px;
}
</style>
<circle cx="50%" cy="50%" r="45%" stroke="tomato" stroke-width="8" stroke-dasharray="20" fill="none" />
<!-- Anchors in action -->
<text x="50%" y="50%" text-anchor="middle" alignment-baseline="baseline">First row</text>
<text x="50%" y="50%" text-anchor="middle" alignment-baseline="hanging">Second row</text>
</svg>
元素与多个text
元素一起使用会更容易。同样,将tspan
置于50%/ 50%的中心,并使用dy
attribyte将text
均匀地隔开。 注意tspan
与上一个dy
的相对关系:
tspan