Закрепить блок на странице (игнорирующий scroll)

Статус
В этой теме нельзя размещать новые ответы.

katrukhin

Местный житель
Регистрация
6 Июн 2010
Сообщения
168
Реакции
22
Сталкивался не раз с таким, видел решения, всегда было перед носом, когда было это не нужным.
А вот как понадобилось найти не могу.

Суть такая : Есть меню (шапка) не взирая на прокрутку страницы юзером, меню по прежнему будет находится на топе, когда body будет перемещаться.

P.s.: Еще вот такой вопрос, если шапка отступает от верхнего края на 200пикселей, то при прокрутке она может отступ уменьшить до 0пикселей - Что то тип как в программе Для просмотра ссылки Войди или Зарегистрируйся


меню скроллит до того момента, пока не подойдет к топу на 0 пикселей, затем цепляется.
 
position: fixed;
top: 0px;

Прижмет к самому верху. А вообще при такой позиции координаты считаются по экрану, и не зависят ни от скролла ни от родителей
 
Ясно, а есть скрипт которые сможет менять top от ситуации?
 
Вот полноценный fixed для всех браузеров.
HTML:
1px.gif - это прозрачная картинка. При использовании убирает дёрганье в IE при прокрутке, можно без картинки, но будет не плавно скальзить.

<head>
<style> 
body{background: url('1px.gif') no-repeat fixed; 
}
.fixed { padding: 0; margin-top:10px; margin-left:10px;  
position: fixed; top: 0px; left: 0px; // position: absolute; top: expression( eval(document.body.scrollTop) + "px");}
</style>
</head>

<div class="fixed">
   [B]тут то, что нужно зафиксить[/B] 
</div>

Значения можно задать в процентах.

Как видно в примере ScrollTop для всего документа, а можно и для конкретного блока посчитать.

Код:
document.getElementDyId('name_bloka').scrollTop(0)
 
top: expression( eval(document.getElementDyId('name_bloka').scrollTop(0)) + "px");}

т.е. вот так?

П.с. Java в CSS - никогда не сталкивался...все верно?
 
Да, всё верно, просто скопируй пример и всё заработает, это готовый вариант. В действительности fixed не работает в IE, поэтому используем expression, который понимает только IE

Я там ошибку исправил зч на px - PuntoSwitcher косянул


CSS expression было представлено в IE 5.0, как метод записи выражений JavaScript непосредственно в свойствах CSS. Все остальные браузеры игнорируют expression. Можно сказать, что это неплохой подарок дизайнерам, поскольку множетсво IE багов может быть исправлено при помощи expression. Но при этом то, что вы напишите в expression нужно как-то записать и для других браузеров.

 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху