gpt4 book ai didi

javascript - 设置文本宽度或将文本放入 div 中

转载 作者:行者123 更新时间:2023-12-02 19:10:29 24 4
gpt4 key购买 nike

我希望能够在 D3 中设置文本元素的宽度。现在我有一些圆形文本,但我无法设置该元素的宽度。 (假设 nodeEnter 是我图中的一个节点)

nodeEnter.append("circle")
.attr("r", function(d){return d.radius+"px";});

/* Add text in middle of circle */
nodeEnter.append('text')
.text("this is a very long text");

我想要的是找到一种简单的方法来设置该文本元素的宽度(溢出向下,就像在简单的 div 中一样)。我现在的方法如下:

nodeEnter.append("circle")
.attr("r", function(d){return d.radius+"px";});

/* Add text in middle of circle */
nodeEnter.append("foreignObject")
.attr("width", 130)
.attr("height", 200)
.attr("class", "myCSS")
.append("xhtml:div")
.html("this is a very long text");

但是我认为这不是最好的解决方案,例如我在 myCSS 中设置的所有内容都被覆盖。此外,我不知道如何将异物置于圆的中心(尤其是在 x 轴上)。

预先感谢您的帮助。

最佳答案

如果您想要自动换行,带有 divforeignObject 是最佳选择。您提到的问题可以相对容易地解决。当您为 svg 元素设置 myCSS 时,您没有为 div 设置它。如果您在附加 div 之后添加行来设置 CSS 类,它应该会获取设置。

使文本居中的最简单方法可能是设置 div 的大小以接触圆的边缘,并添加 CSS 使文本在 div 内居中>.

关于javascript - 设置文本宽度或将文本放入 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13803678/

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