2011-05-24 49 views
7

我使用RaphaelJS來直觀地表示某些數據。底層技術是SVG,所以顯然事情並不總是在IE中工作得很好,但是圖書館做了一些相當不錯的工作,仍然可以呈現一些有用的東西,雖然它往往看起來很差。Raphaeljs在IE中呈現爲斜體的所有文本

無論如何,我似乎無法解決這個基本問題。文字在Chrome或FireFox中表現良好,但在IE8中所有內容都以粗體和斜體呈現。

要見我的問題在行動,去the RaphaelJS playground和使用下面的代碼

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

下面是結果在Chrome和IE瀏覽器。

Chrome IE8

對此有什麼解決辦法?

+0

對於什麼是值得的,當Raphael在IE8或更低版本上運行時,底層技術實際上是VML而非比SVG;它會自動檢測到IE8不支持SVG,而是回退到支持VML的VML。但是,這對開發者應該是透明的,所以它不應該有任何區別。 – Spudley 2011-05-24 13:09:49

+0

+1我有同樣的問題 – oyatek 2012-12-23 12:28:21

+0

我得到的印象是'.text()'是一個Raphael特性,它不能按預期工作,並且它被非正式地拋棄在期望人們將使用'.print( )'而不是。它也[*似乎*使用'.print()''你必須有你的字體''cufon字體'](http://stackoverflow.com/questions/4402329/can-i-use-print-in- raphael-without-cufon)(即javascript格式),這可能違反某些字體的許可證。基本上,Raphael的文本看起來好像是(2.1.0版本)有點混亂。 – user568458 2013-05-08 10:59:27

回答

0

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

+1

我試過了,沒有什麼區別 – 2011-05-25 09:49:29

+0

嘗試過「font-weight」:400,「font-weight」:100,「font-weight」:'normal',數字和字符串一樣,字體和沒有。不用找了。還嘗試直接使用IE開發人員工具更改VML DOM節點中的屬性 - 不變。 – user568458 2012-12-17 23:22:15

-1

只是爲了所有那些找到這個頁面,並有同樣的問題。解決方案是使用的文檔類型。如果你這樣做,你應該(至少從GWT 2.x開始)使用<!DOCTYPE html> Internet Explorer呈現....

+0

對不起,你可能編輯你的句子 - 它並沒有100%的感覺 – 2011-07-05 10:41:01

+1

我嘗試了幾個不同的文檔類型,但它沒有任何區別... – 2011-07-05 10:49:53

+0

像Jaco Pretorius一樣,doctype對我沒有任何影響。事實上,我的'<!DOCTYPE html>'已經有了,變體沒有任何區別。 – user568458 2012-12-17 23:13:53