Raphaeljs在IE中将所有文本呈现为斜体

8
我正在使用RaphaelJS来直观地表示一些数据。底层技术是SVG,所以在IE中有时不太好用,但该库仍然可以相对正常地呈现一些有用的内容,尽管它通常看起来很糟糕。
无论如何,我似乎无法解决这个基本问题。文字在Chrome或FireFox中呈现得很好,但在IE8中所有内容都呈现为粗体和斜体。
要查看我的问题,请转到RaphaelJS playground并使用以下代码。
paper.text(100, 100, "this is the text")

这是在Chrome和IE中的结果。

Chrome IE8

这个有什么解决办法吗?


就此而言,当Raphael在运行IE8或更低版本时,其基础技术实际上是VML而不是SVG;它会自动检测到IE8不支持SVG并改为使用VML,因为VML是被支持的。然而,这对于开发人员来说应该是透明的,所以不应该有任何区别。 - Spudley
我有这样的印象,即.text()是Raphael的一个功能,但它并没有像预期的那样工作,并且已经被非官方地放弃了,人们将使用.print()代替。此外,似乎要使用.print(),您必须将字体作为“cufon字体”(即javascript格式),这可能会违反某些字体的许可证。基本上,似乎在Raphael中的文本(截至2.1.0)有点混乱。 - user56reinstatemonica8
2个回答

0

你尝试过使用 .attr({"font-family":"xxxxxx","font-weight":400}); 吗?


1
尝试过设置“font-weight”为400、100、'normal',以数字和字符串的形式,同时明确声明字体和不声明字体。没有任何变化。还尝试直接使用IE开发者工具更改VML DOM节点中的属性 - 仍然没有变化。 - user56reinstatemonica8

-1

对于所有遇到这个问题的人,解决方案是使用正确的文档类型。自GWT 2.x以来,您应该使用<!DOCTYPE html>,如果这样做,Internet Explorer将呈现....


抱歉,您能否编辑一下您的句子——它的意思不是完全清晰。 - Jaco Pretorius
就像Jaco Pretorius一样,doctype对我而言并没有什么影响。事实上,我的已经是 <!DOCTYPE html> ,而其他变种也没有影响。 - user56reinstatemonica8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接