2012-04-30 55 views
1

我發現在IE和Firefox上,SVG @style屬性都不渲染字體大小,而是@ font-size屬性起作用。 (我不確定失敗的顯示器是否太小,看不到,沒有顏色或根本沒有顯示)。渲染樣式屬性(@style vs font-size)

<text style=" stroke:green; fill:black; font-size:26.548;" 
     x="265.1651888" y="737.1567768" >o</text> 
<!-- fails to render --> 

<text style=" stroke:blue; fill:black; " x="265.1651888" y="737.1567768" 
     font-size="16.548">o</text> 
<!-- renders OK --> 

標準似乎暗示@style和具體屬性是替代方案。它是否正確?如果是這樣,這是瀏覽器的一個限制,什麼是防禦性編碼(例如,我應該總是使用這兩個安全?)。我正在生成自己的SVG,因此可能會有影響此功能的全局屬性。

回答

2

這是正確的,如果您通過CSS指定字體大小,則必須將單位放入http://www.w3.org/TR/CSS2/fonts.html#font-size-props

指定爲SVG屬性時,字體大小的單位是可選的,儘管由於SVG規範涵蓋了用法和語法。

+0

非常有幫助。我一直在處理Batik的輸出,並創建了沒有單位的@style使用。我認爲我沒有做錯任何事情,如果不是,那看起來像是一個錯誤。 –

+0

你可以在這裏舉報蠟染錯誤:https://issues.apache.org/bugzilla/query.cgi –