【问题标题】:Raphaeljs renders all text as Italic in IERaphaeljs 在 IE 中将所有文本呈现为斜体
【发布时间】:2011-08-31 21:19:57
【问题描述】:

我使用RaphaelJS 来直观地表示一些数据。底层技术是 SVG,所以很明显,在 IE 中事情并不总是那么好,但是这个库在渲染一些有用的东西方面做得相对不错,尽管它通常看起来很糟糕。

无论如何,我似乎无法解决这个基本问题。文本在 Chrome 或 FireFox 中呈现良好,但在 IE8 中所有内容均呈现为粗体和斜体。

要查看我的问题,请转到 the RaphaelJS playground 并使用以下代码

paper.text(100, 100, "this is the text")

这是 Chrome 和 IE 中的结果。

有什么解决方法吗?

【问题讨论】:

  • 值得一提的是,当Raphael在IE8或更低版本上运行时,底层技术实际上是VML而不是SVG;它会自动检测到 IE8 不支持 SVG 并转而使用受支持的 VML。但是,这对开发人员应该是透明的,所以它不应该有任何区别。
  • +1 我也有同样的问题
  • 我的印象是.text() 是 Raphael 的一项功能,它无法按预期工作,并且它已被非正式地抛弃,因为人们期望人们会使用 .print() 来代替。它还有seems that to use .print() you must have your font as a 'cufon font'(即javascript格式),这可能会违反某些字体的许可。基本上,Raphael 中的文本(从 2.1.0 开始)似乎有点乱。

标签: internet-explorer internet-explorer-8 svg raphael vml


【解决方案1】:

你试过.attr({"font-family":"xxxxxx","font-weight":400});

【讨论】:

  • 尝试了 "font-weight":400, "font-weight":100, "font-weight":'normal',数字作为数字和字符串,有明确声明的字体和没有。不用找了。还尝试使用 IE 开发人员工具直接更改 VML DOM 节点中的属性 - 没有变化。
【解决方案2】:

仅适用于所有找到此页面并遇到相同问题的人。解决方案是使用的文档类型。你应该(至少从 GWT 2.x 开始)使用 <!DOCTYPE html> 如果你这样做 Internet Explorer 呈现 ....

【讨论】:

  • 对不起,你能不能编辑一下你的句子 - 它没有 100% 的意义
  • 像 Jaco Pretorius 一样,doctype 对我没有任何影响。事实上我的已经是<!DOCTYPE html>了,变种也没什么区别。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-08
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多