Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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
Javascript 如何在没有异物的情况下为svg文本tspan设置背景色?_Javascript_Svg_D3.js - Fatal编程技术网

Javascript 如何在没有异物的情况下为svg文本tspan设置背景色?

Javascript 如何在没有异物的情况下为svg文本tspan设置背景色?,javascript,svg,d3.js,Javascript,Svg,D3.js,这是我的代码,如何设置属性(“背景色”、“红色”) svgtext元素没有“背景”的概念,您只能为实际文本本身设置样式。如果您想要背景,则需要单独添加,例如,svgrect元素: stackmap.append("rect") .attr({ "class": "background", x: 40, y: 50, width: 100, height: 100 }) .style("fill", "red");

这是我的代码,如何设置属性(“背景色”、“红色”)


svg
text
元素没有“背景”的概念,您只能为实际文本本身设置样式。如果您想要背景,则需要单独添加,例如,svg
rect
元素:

stackmap.append("rect")
    .attr({
      "class": "background",
      x: 40,
      y: 50,
      width: 100,
      height: 100
    })
    .style("fill", "red");
stackmap.append("text")
    ..etc

然后如何根据文本的大小调整矩形的大小?@hofnarwillie您可以使用domElemen.getClientRects()获得表示文本周围框的矩形。
stackmap.append("rect")
    .attr({
      "class": "background",
      x: 40,
      y: 50,
      width: 100,
      height: 100
    })
    .style("fill", "red");
stackmap.append("text")
    ..etc