У меня есть простая целевая страница, которую я создаю, и я использую jquery для вертикального центрирования содержимого на экране. Я выбрал jquery, так как высота контейнера не определена.
Скрипт отлично работает, за исключением того, что экран очень узкий по ширине (например, мобильный телефон), верх и низ обрезаны, и нет возможности прокручивать вверх и вниз. Я создал скрипку, чтобы показать вопрос, который у меня есть. Если вы сделаете ширину очень узкой, вы увидите, что содержимое теряется.
Есть ли простое решение для этого?
благодаря
$(window).resize(adjustLayout);
/* call function in ready handler*/
$(document).ready(function(){
adjustLayout();
/* your other page load code here*/
})
function adjustLayout(){
$('.main').css({
position:'absolute',
left: ($(window).width() - $('.main').outerWidth())/2,
top: ($(window).height() - $('.main').outerHeight())/2
});
}
Проверьте отрицательные значения.
function adjustLayout(){
var subheight=($(window).height() - $('.main').outerHeight())/2;
$('.main').css({
position:'absolute',
left: ($(window).width() - $('.main').outerWidth())/2,
top: (subheight>=0)?subheight:0,
bottom: (subheight>=0)?subheight:0,
});
}
И переполнение дескриптора:
<div class="main" style="margin: 10px; padding: 10px; max-width: 800px; text-align: center;overflow:auto;">