Мне стыдно признать, что я не могу найти совместимый со стандартами метод для изменения свойств CSS с помощью Javascript. Или, по крайней мере, я так полагаю из-за следующего:
Следующий фрагмент кода отлично работает в Firefox / WebKit без объявления DOCTYPE, но не работает с указанным типом документа (HTML 4 или 5):
function setWindowSize(width, height) {
console.log("Syncing dimensions:",width,height); // prints correct values
var container = document.getElementById('canvasProxy');
console.log(container); // prints valid element
console.log(container.style); // prints valid object
container.style['width'] = width;
container.style['height'] = height;
console.log(container.style['width'], container.style['height']); // prints empty values
}
где холст прокси просто определяется как:
<div id="canvasProxy"></div>
и не имеет стиля, связанного с ним. Приведенный выше код не выполняется до тех пор, пока не загрузится DOM.
style.setProperty и style.getPropertyCSSValue также не работают. Так что ... какая правильная форма? Я схожу с ума?
(держу пари, что jQuery справится с этим просто отлично, но я пытаюсь сохранить абсолютный минимум размера страницы в данном конкретном случае.)