2011-03-22 36 views
2

我有一個包含xhtml片段的foreignObject元素的內聯svg。但是,由於與svg及其父文檔(即jqtouch庫)中的js設置的樣式相互串擾,xhtml內容的樣式不正確。因此我想將瀏覽器的默認樣式應用於我的foreignObject的孩子。因此我需要引用瀏覽器的默認樣式表。有人知道怎麼做這個嗎 ?對於safari,我可能可以從webkit資源中獲取它,但我更喜歡一種不需要在瀏覽器升級後跟蹤修改的解決方案。inline svg - 如何將瀏覽器默認樣式應用於xhtml中的foreignObject?

使用原生svg文本元素不是一個選項,因爲自動換行是強制性的。 既不是...

  • 將內聯svg子樹移出頂級css範圍。
  • 修改違規頂層CSS (事實上,修改每一個CSS選擇器,並加入了獨特的CSS類外 每個元素的foreignObject S可能會發生成爲一種選擇,如果可以通過編程,高效地完成。 希望有一個更優雅的解決方案)

平臺: Safari瀏覽器5.0.3(7533.19.4) 贏得XP SP3

提前感謝你的努力

最好的問候,卡斯滕

+0

請注意,即使你包括UA樣式表,你仍然不會是整個文檔的默認樣式將僅應用於重啓;您需要明確地將每種樣式硬重置回基準。 – Phrogz 2011-03-23 21:23:05

+1

我暫時從webkit源中引用了一個克隆的默認樣式表,其中我在所有選擇器前面加上了'foreignObject'。至少它的作品... – collapsar 2011-03-25 00:10:37

回答

0

我想如果你嵌入XHTML與頭主體等

+0

不幸的是,他們沒有。 dom將嵌入式xhtml視爲一個普通的子樹,無論它是一個完整的文檔還是一個片段。 – collapsar 2011-03-25 00:08:19

+0

在這種情況下,您可以嘗試將自定義強制重置css應用於異物兒童 – 2011-03-26 16:18:14

相關問題