【问题标题】:SVG text element with whitespace not preserved in IE带有空格的 SVG 文本元素未在 IE 中保留
【发布时间】:2015-02-14 10:24:31
【问题描述】:

我想在单个 SVG 元素中保留空白。

这适用于除 IE 浏览器之外的所有文本元素中的 xml:space="preserve" 属性。

  <text x="0" y="15" fill="red" xml:space="preserve">I     love     SVG!</text>

这里是 jsfiddle,尝试在 Chrome/Firefox 和最新的 IE 中打开这个 fiddle,注意文本元素文本中的空格在 IE 中没有保留。

jsfiddle

有什么解决方法可以让 IE 也能正常工作吗?

【问题讨论】:

    标签: internet-explorer svg whitespace


    【解决方案1】:

    我猜你可以用 &amp;#160; 替换每个空格(这是 unicode non-breaking space 字符)。

    在 javascript 中,它会写成 \u00A0。

    【讨论】:

    • 但是通过 API 创建带有空格的文本元素无法使用 jsfiddle.net/chetanbh/t4ys4j1x 使用 unicode 字符。
    • 它在 javascript 中的写法不同。我已经更新了答案。
    • 这是一个不理想的答案(来吧 IE 一起行动) - 因为现在文档文本搜索可能与内容不匹配,因为正在搜索的字符不再是空格(ASCII 32)但非破坏空间。 :(
    • 也许搜索引擎可以/确实弥补这一点?
    【解决方案2】:

    如果您使用的是 d3,则效果很好:

    .attr("style","white-space:pre")
    

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多