2013-07-30 4 views
0

Я работаю над RCP-приложением Eclipse, имеющим HTML-редактор с использованием XULRunner. В код JavaScript взаимодействующий с редактором, я хочу, чтобы установить максимальную ширину элемента с помощью CSSStyleDeclaration.maxWidth:Как назначить процент свойства CSSStyleDeclaration

/* node is an HTMLImageElement */ 
node.style.maxWidth = "100%"; 

Код выше выдает следующее сообщение

Warning: Error in parsing value for property 'max-width'. Declaration dropped. 

Но если я использую пиксели, он работает:

node.style.maxWidth = "100px"; 

Каков правильный синтаксис для установки свойства максимальной ширины CSS на 100%?

+1

'MaxWidth = "100%"' должно работать нормально (в браузере). Должно быть, вещь XULRunner. –

+0

Вы пробовали это без кавычек? – DevlshOne

+1

@DevlshOne: Это сделало бы это синтаксической ошибкой JavaScript ('' 'был бы оператором modulo). –

ответ

2

Попробуйте с

node.style.maxWidth = '100%'; 
+0

Это действительно работает. Можете ли вы объяснить разницу между «100%» и «100%»? – Julien

+0

Рад, что это сработало, вы никогда не знаете, как разные браузер интерпретируют/анализируют ваши теги. Здесь статья помогает понять, почему это должно быть (см. Раздел 2.5. Примеры свойств) http://www.w3.org/TR/css3-values/#component-types – Akki619

+1

@julien: Там ** должны ** иметь была какая-то другая проблема. В JavaScript строки могут быть указаны либо с '' 'или' ''. Существует * ноль * разница между '' 100% ''и' '100%' '. Zero. –

0

У меня нет проблем с тем, как вы его объявляете. Ваш XULRunner не должен правильно разбираться.

Вот официальные спецификации для max-width, как написано MDN