Всем привет!
Столкнулась с такой проблемкой при написании кода для появления модальных окон с position: absolute. Не получается сделать их по центру видимой области экрана (а точнее той, где находится ссылка непосредственно на само окно), если сам блок окном находится в самом конце body. Проблема именно с окнами с position: absolute, потому что в этом случае координаты отсчитываются от начала документа. С position: fixed проблем нет.
Пробовала как вариант:
$(('a[name=modal]')).click(function(e) {
e.preventDefault();
var id = $(this).attr('href');
..........................................
var winH = $(window).height();
var winW = $(window).width();
$(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
или
$('.mymodal').css({
left: ($(document).width() - $('.mymodal').outerWidth())/2,
top: ($(window).height() - $('.mymodal').outerHeight())/2
});
Пока помог только способ вставки блока с окном непосредственно перед секцией, где есть на него ссылка, но это не выход, потому что все равно некорректно все отображается. А для position: fixed окна слишком длинные, чтобы скроллить их внутри окна вместо прокрутки со страницей.