2012-04-30 2 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 –