У меня есть сайт, который использует нижний фиксированный заголовок фиксированной позиции: http://www.entheospartners.com/newsite/
Эта установка прекрасно работает во всех браузерах, кроме IE6, который не поддерживает фиксированное позиционирование, поэтому вот что я сделал:
Когда пользователь IE6 приходит на страницу, я решаю, нужна ли прокрутка, используя этот бит кода:
var windowHeight = $(window).height();
var totalHeight = windowHeight - 100; // where 100 is the sum of the top nav height + footer height
var contentHeight;
if($('#subpage-content-small').length) { // main content div for a three column layout
contentHeight = $('#subpage-content-small').height();
};
if($('#subpage-content-wide').length) { // main content div for a two column layout
contentHeight = $('#subpage-content-wide').height();
};
if(contentHeight > totalHeight) {
$('#container-container').css({
'overflow-y' : "scroll",
'height' : totalHeight
});
};
... который вычисляет все правильно, помещает полосы прокрутки туда, где они должны быть (вправо) и устанавливает их на соответствующую высоту. Проблема в том, что полосы прокрутки не перемещают содержимое. Я не могу сказать, что я когда-либо видел нечто подобное, поэтому я надеюсь, что кто-то еще здесь. Заранее спасибо!
PS - Очевидно, что в IE6 это необходимо учитывать для устранения неполадок, которые, как я знаю, будут такими же болезненными для вас, как и для меня.
UPDATE
После небольшого углубления в CSS-выражения, основываясь на первом ответе, я пришел к решению, которое работает для фиксированного позиционирования меню в верхней части страницы. Все, что мне нужно, это уметь использовать это и применять в нижней части страницы. Это не так просто, как переключение всех «верхних» на «нижние», поэтому я надеюсь, что кто-то сможет меня просветить. Вот CSS:
#divfixed {
position: absolute;
top: expression(0+((e=document.documentElement.scrollTop)?e:document.body.scrollTop)+'px');
left: expression(0+((e=document.documentElement.scrollLeft)?e:document.body.scrollLeft)+'px');}