2012-02-04 71 views
3

最近我一直在使用Raphael 2.0.1進行項目,我只是在做一些跨瀏覽器檢查,並且看到文本(並且只有文本...)在Safari中無法正確顯示。 似乎正在發生的是dy的設置與's'y'值相同的值。拉斐爾文本和Safari

這裏所呈現的HTML具體到我談論的摘錄:

<text style="font: normal normal normal 12px/normal 'Helvetica Neue'; text-anchor: start; cursor: pointer; opacity: 0.7; " x="96" y="15" text-anchor="start" font="12px &quot;Helvetica Neue&quot;" stroke="none" fill="#17d6c6" opacity="0.7"> 
<tspan dy="15">U.S Population - Blood</tspan> 
<tspan dy="10.799999999999999" x="96">Type Breakdown</tspan> 
</text> 

這裏是我的js有問題的文本:

var type_text = lab_culture_type.text(96, 15, 'U.S Population - Blood\nType Breakdown'); 
    type_text.attr({'fill':'#17D6C6', 'font':'12px "Helvetica Neue"', 'text-anchor':'start','cursor':'pointer'}); 

正如我所說的在y和cy值僅在Safari中綁定在一起。我有很多拉斐爾渲染的文本,所以爲每個文件設置類名是不可能的(以及我試圖避免它,因爲它似乎對我來說很sl))。我試過針對dy,但似乎無法得到它。順便說一句,我正在使用Raphael和jQuery一起。在OS X上,提前爲幫助5.1.2兩個

感謝:

使用FF:9.0.1和Safari!

+0

如果我能以某種方式確保'dy'總是被設置爲'0',我會完成。我無法做到。 – mattelliottIT 2012-02-04 00:28:29

+0

使用引導程序彈出框時,我遇到了同樣的問題 – Muhammed 2013-05-23 15:48:02

回答

3

試試這個。在給拉斐爾打電話之前,確保容器已經插入。

var container = $('<div></div>'), 
    r; 

// Insert 
$('body').append(container); 

r = Raphael($container[0], 800, 600); 

// Add text etc, dy on tspan should be correct... 

如果你做到這一點周圍的TSPAN的DY屬性將被搞砸了(如你已經注意到)的其他方式。我發現它發生在所有的webkit瀏覽器中。

我希望這會有所幫助。

+0

啊,謝謝。 我最終只是實現HTML文本來完成項目,但是,我會試試看,看看它是否有幫助。 歡呼的信息! – mattelliottIT 2012-02-08 23:11:20