min-height
элемента data-role="page"
устанавливается с помощью JavaScript в обработчике событий resize
для объекта window
.Вы можете создать свой собственный JavaScript, который изменяет размеры страницы по-разному:
$(function () {
$(window).bind('resize', function (event) {
var content_height = $.mobile.activePage.children('[data-role="content"]').height(),
header_height = $.mobile.activePage.children('[data-role="header"]').height(),
footer_height = $.mobile.activePage.children('[data-role="footer"]').height(),
window_height = $(this).height();
if (content_height < (window_height - header_height - footer_height)) {
$.mobile.activePage.css('min-height', (content_height + header_height + footer_height));
setTimeout(function () {
$.mobile.activePage.children('[data-role="footer"]').css('top', 0);
}, 500);
}
event.stopImmediatePropagation();
}).trigger('resize');
});
Вот демонстрационная версия: http://jsfiddle.net/sAs5z/1/
Обратите внимание на setTimeout
, используемый для установки fixed-position-footer
;продолжительность тайм-аута, вероятно, может быть уменьшена.Это используется, потому что jQuery Mobile Framework перенес fixed-position-footer
обратно в конец страницы.Пример этого можно увидеть здесь: http://jsfiddle.net/sAs5z/
Еще одно примечание, вы можете захотеть только переместить элемент fixed-position-footer
и оставить свойство страницы min-height
таким же;это позволит градиенту страницы покрыть весь экран, но нижний колонтитул не будет иметь никакого пространства между ним и содержимым.Вот демонстрация этого метода: http://jsfiddle.net/sAs5z/2/