2013-02-24 67 views
1

我有一个动态创建的图形,因此svg包含具有以下代码的部分。 bt我无法给这个类的背景颜色.. ive与attr()函数动态地尝试它,但它不工作的方式.. 是否有指定的CSS像SVG:文本?为svg元素中的文本标签添加样式

<text id="circleText_Persons-bruno-waterfield" font-size="14" class="circleText" font-family="Tahoma" text-anchor="middle" background-color="#000000" font-weight="900" display="block" x="-1.8714285714285717" y="28.711414285714287" fill-opacity="1" stroke-opacity="1" style="fill: #666666;">Bruno Waterfield</text> 

动态创建SVG文本

 nodeEnter.append("svg:text") 
    .attr("id", function(d){ return "circleText_" + d.name}) 
     .attr("font-size", function(d){return 14;}) //returnNodeSize(d)/2 
     .attr("class", function(d){return "circleText"}).attr("font-family", "Tahoma") 
     .attr("text-anchor","middle") 
     .attr("background-color","#000000") 
     .attr("font-weight","900") 
     //returnNodeSize(d)+returnNodeSize(d)/1.8; 
     .text(function(d){ 

     return toTitleCase(d.name)); 

回答

0

的把一个recttext元素符合文本的边框背后你所选择的颜色。 SVG文本没有用于设置背景颜色的流程框;你必须做一个。

+0

我编辑了这个问题...所以如果我添加一个矩形它将像svg:rect:text – 2013-02-24 14:22:58

+0

@SamDaSilva一样工作不,你需要生成'svg:rect'并将它放在文本元素之前,然后将其x,y,宽度和高度设置为与以下文本元素相同(一旦知道这些值)。 – Plynx 2013-02-24 14:25:50