gpt4 book ai didi

firefox - SVG 文本元素文本 anchor ="middle"在 Firefox 中不起作用

转载 作者:行者123 更新时间:2023-12-02 18:37:20 25 4
gpt4 key购买 nike

我正在使用 D3 创建条形图,我想将文本标签与条形图的中间对齐。我正在使用 text-anchor 属性并将其设置为“middle”。这在 Chrome 中运行良好,但在 Firefox 中却表现不佳。我将矩形和文本分组在单独的父 g 元素中,以便在数据更改时实现一堆不同的过渡效果(例如条形图的分割)。

这是我的 SVG:

<svg width="650" height="400">
<g class="groups" transform="translate(25,0)">
<g class="group" transform="translate(0,0)">
<g class="bar"><rect class="subBar" x="0" y="60" width="192" height="310"/></g>
<g class="dataLabel"><text text-anchor="middle" class="subLabel" style="font-size: 14px; opacity: 1;" dx="96.25" dy="55">83%</text></g>
</g>
<g class="group" transform="translate(207.5,0)">
<g class="bar"><rect class="subBar" x="0" y="97.22891566265059" width="192" height="272.7710843373494"/></g>
<g class="dataLabel"><text text-anchor="middle" class="subLabel" style="font-size: 14px; opacity: 1;" dx="96.25" dy="92.22891566265059">73%</text></g>
</g>
<g class="group" transform="translate(415,0)">
<g class="bar"><rect class="subBar" x="0" y="93.50602409638549" width="192" height="276.4939759036145"/></g>
<g class="dataLabel"><text text-anchor="middle" class="subLabel" style="font-size: 14px; opacity: 1;" dx="96.25" dy="88.50602409638549">74%</text></g>
</g>
</g>
</svg>

我不知道是什么原因导致了这个问题。有人可以帮我解决问题吗?

谢谢!

最佳答案

我认为您应该使用“x”而不是“dx”来放置标签。假设您希望文本位于该 x 位置并锚定在中间。我认为 dx 是为了偏离锚定位置。

同样,您可能想使用“y”而不是“dy”。使用 dy 调整基线上方或下方的高度(通常以“em”单位),使用 y 实际定位文本。

尝试:

<svg width="650" height="400">
<g class="groups" transform="translate(25,0)">
<g class="group" transform="translate(0,0)">
<g class="bar"><rect class="subBar" x="0" y="60" width="192" height="310"/></g>
<g class="dataLabel"><text text-anchor="middle" class="subLabel" style="font-size: 14px; opacity: 1;" x="96.25" y="55">83%</text></g>
</g>
<g class="group" transform="translate(207.5,0)">
<g class="bar"><rect class="subBar" x="0" y="97.22891566265059" width="192" height="272.7710843373494"/></g>
<g class="dataLabel"><text text-anchor="middle" class="subLabel" style="font-size: 14px; opacity: 1;" x="96.25" y="92.22891566265059">73%</text></g>
</g>
<g class="group" transform="translate(415,0)">
<g class="bar"><rect class="subBar" x="0" y="93.50602409638549" width="192" height="276.4939759036145"/></g>
<g class="dataLabel"><text text-anchor="middle" class="subLabel" style="font-size: 14px; opacity: 1;" x="96px" y="88.50602409638549">74%</text></g>
</g>
</g>
</svg>

关于firefox - SVG 文本元素文本 anchor ="middle"在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15118610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com