Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 无法设置SVG文本的最大宽度_Css_D3.js_Svg - Fatal编程技术网

Css 无法设置SVG文本的最大宽度

Css 无法设置SVG文本的最大宽度,css,d3.js,svg,Css,D3.js,Svg,我有一个非常简单的页面和任务,但令我沮丧的是,我无法使我的文本具有适当的最大宽度。我已经看过了:,还有其他的,但我还是搞不懂 svg文本没有很好地流到下一行,而是在页面上展开,直到超出边界。这是我的css和代码 var svg=d3。选择“正文”。追加“svg” .attr'width',300 .attr'height',200; var textG=svg.append'g'; text.append'text' .attr'x',20 .attr'y',30岁 .attr'class',

我有一个非常简单的页面和任务,但令我沮丧的是,我无法使我的文本具有适当的最大宽度。我已经看过了:,还有其他的,但我还是搞不懂

svg文本没有很好地流到下一行,而是在页面上展开,直到超出边界。这是我的css和代码

var svg=d3。选择“正文”。追加“svg” .attr'width',300 .attr'height',200; var textG=svg.append'g'; text.append'text' .attr'x',20 .attr'y',30岁 .attr'class','myText' 这一行应该有三到四行长,但因为我太笨了,我不能让它做我想做的事。我有祸了。”; .myText{ 字体大小:1.3em; 填充物:灰色; 宽度:10%; 最大宽度:10%; 显示:块; }
您可以将字符串拆分为三到四个部分,然后在一个元素中使用多个元素,而不是将整个文本插入到元素中

另一个解决方案是使用一个

这是一把小提琴:

var svg=d3。选择“正文”。追加“svg” .attr'width',350 .attr'height',500; var textG=svg.append'g'; var fullTxt='这一行应该有三到四行,但是因为我还在学习东西,我不能让它做我想做的事情。我有祸了。” var b=fullTxt.split'^'; text.append'text' .attr'x',20 .attr'y',30岁 .attr'class','myText' .选择所有“tspan”。数据 .enter.append'tspan' .textfunctiond{ 返回d; } .attrtextLength,250 .属性长度调整、间距和符号 .attr'dy',1em',attr'x',15'; .myText{ 字体大小:1.3em; 填充物:灰色; 宽度:10%; 最大宽度:10%; 显示:块; }
SVG不支持通过CSS实现这一点。您必须手动将文本拆分为tspan元素,或者使用foreignObject和html来包装文本。