2012-06-22 89 views
1

我有一個非常圖形化的網站,我使用svg進行渲染。我遇到的問題是我需要在圖像上顯示一些文本,並且由於大多數瀏覽器不支持在元素中自動換行,因此我使用<foreignObject>在svg中添加<div>在SVG上顯示文本

雖然這在Firefox中運行得相當好,但Chrome對此的處理非常糟糕。我想知道如果我應該嘗試在HTML中創建一個<div>,這將會漂浮在框架中,但我認爲這將難以一致地定位此元素。那麼,有沒有人有任何想法?以下是我正在處理的網頁的鏈接:http://okcomputerstl.com/K9_Athletic_Club/services.html

+0

所以我嘗試使用SVGweb,但它沒有顯示整個圖像。我想知道是否應該放棄我對完全解決方案獨立站點的夢想,直到SVG得到更好的開發,而只是使用圖像來使網站工作 –

+0

我應該說「直到瀏覽器支持SVG更好」 –

回答

1

檢出RaphaelJS

  1. 它實質上是一個用於高級SVG的跨瀏覽器框架。
  2. 它具有良好的文檔和支持(煎茶)
  3. 它是在2.1版本
  4. 成熟它是免費的。

這是文本example。它的印刷效果很好,以我的經驗。

+0

非常感謝。我認爲這就是我一直在尋找的! –

+1

你知道我可以如何將現有的SVG文件移動到Raphael嗎? –

+0

樂於幫助。德米特里巴拉諾夫斯基(拉斐爾的創造者)是一位了不起的人。 http://www.slideshare.net/Dmitry.Baranovskiy/javascript-enter-the-dragon –

1

如果您的內容需要自動流佈局,請使用HTML,然後根據需要添加svg邊框或背景。

如果您的內容主要是圖形,並且您不需要自動流佈局,那麼完全避免使用foreignObject,而應使用一個或多個< text>元素。

SVGWeb不會在所有AFAIK處理foreignObject(或svg內的html)。