如何在 svg 文本中保留空格 [英] How to preserve spaces in svg text

查看:116
本文介绍了如何在 svg 文本中保留空格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

要在 svg 的文本元素中保留空格,应使用 'xml:space="preserve"' 作为文本的属性 (jsfiddle).但是,它不起作用.我做错了什么?

To preserve spaces in a textelement of svg, one should use 'xml:space="preserve"' as an attribute of the text (jsfiddle). However, it isn't working. What am I doing wrong?

    // init snap
    var svgElement=document.getElementById("mainSvgId");
    var s = Snap(svgElement).attr({height: 300, width: 300});

    // greate group with rectanle
    var parentGroup=s.g().attr({id: "parent"});
    var rect1 = s.rect(0, 0, 200, 200).attr({fill: "#bada55"});
    parentGroup.add(rect1);

    // add text with preserve attribute
    var text = s.text(0, 20, "   text1    text2");
    text.node.setAttribute("xml:space", "preserve");
    parentGroup.add(text);

推荐答案

大功告成.您需要在需要 setAttributeNS 而不是 setAttribute

You're almost there. You need to properly create the attribute in the xml namespace for which you need setAttributeNS rather than setAttribute

text.node.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");

这篇关于如何在 svg 文本中保留空格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆