четверг, 2 мая 2013 г.

Проблемы и решение задачи масштабирования для приложений на html5


Каждое, казалось бы даже самое просто задание, может оказаться очень нетривиальным, если ты знаешь, что хочешь получить и, кажется, знаешь, как это сделать, но… Разработчики браузеров, обновляя свои версии,  лихо вносят коррективы в твои решения ))
Проблема с масштабированием.
Как сделать так, чтобы при HTML верстке, для созданной таблицы одни объекты масштабировались, а другие -- нет. Можно конечно таблицу сделать не таблицей, а скажем картинкой и просто масштабировать одно изображение и при этом параллельно корректировать масштаб привязанного к ней объекта. На мой взгляд, картинка, даже самого высокого качества, однозначно хуже, чем верстка в HTML. Почему? Да потому что картинка фиксированная, в ней тяжелее исправить текст, верстку и т.д.
Поддержка управления масштабом(разрешить или запретить масштабирование), уже  реализована на мобильных устройствах. Причем она устанавливается для всей страницы, а не для её отдельных компонентов. Что касается обычных браузеров, масштабирование осуществляется самим браузером, при этом, он не сообщает странице об изменении масштаба и не позволяет получить значения текущих данных. И поэтому, для определения масштаба, используются различные нестандартные решения(даже танцы с бубном), которые так же, не обещают 100% результата. Отключение зависимости размеров элемента от масштаба страницы, более-менее работает в Chome.
                             

В FireFox и Internet Explorer – не работает.
И что же нам делать, если нам очень надо, чтобы масштабировалась таблица, но не изменялись размеры всплывающего окна. Задача остается наполовину решенной, даже добавление скрипта  уменьшения размеров элементов в зависимости от масштаба в браузере,  не гарантирует 100% результата во всех браузерах.
Верстать или рисовать—вот в чем вопрос!