获取文本基线,而不是BoundingBoxRect

时间:2019-03-25 10:14:54

标签: javascript reactjs svg

我正在研究一个React组件,其中我在rect元素内渲染了一个text元素和一个rect元素。

此外,我想指定text元素的垂直对齐:为此,我发现了dominant-baselinehttps://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/dominant-baseline)属性,它是完美的。 /> 不幸的是,dominant-baseline属性在IE11和Edge上均不起作用。为了解决该问题,我认为我可以使用dy属性手动调整位置,但这是问题所在:使用dominant-baseline属性,浏览器将准确地考虑文本,而不是其边界框。
例如,如果我将hanging分配给dominant-baseline属性,并且将text元素10pxrect元素的顶部放置,则可以获得以下内容:
enter image description here

如您所见,从10pxrect的位置是rect的顶部和标签实际书写之间的距离。相反,如果我考虑boundingBoxRect元素的text,并用它从顶部text元素中放置10px元素rect,我结果如下:
enter image description here

首先,我希望我已经正确解释了什么是“假设”,然后是我的问题:是否有办法检索文本所占用的实际空间?像getTextBoundingBox一样?否则,我无法在Chrome / Firefox / Opera(在dominant-baseline工作的地方)和IE / Edge(在其中我需要将dy属性与getBoundingBoxRect()一起使用)获得完全相同的结果)

0 个答案:

没有答案