16.07.2026

Теперь давайте в js напишем код, отвечающий за скрытие одного из номеров. Пусть это событие случается, когда мы прокрутили окно на 500 пикселей, но давайте, чтобы не повторятся, будем не просто стили менять или классом манипулировать, а воспользуемся методами fadeIn|fadeOut для плавного скрытия и появления элемента.

let mobileTel = $(‘.header__tel’).first(); // сохранем в переменную первый элемент с классом header__tel if($(this).scrollTop() > 500) < mobileTel.fadeOut(); >else

Вот, что мы получили:

Вот такой, достаточно простой эфеект получился. Надеюсь, все основные нюансы по закреплению шапки учел. Если будут еще какие-то вопросы, задавайте в комментариях.

Как закрепить header при скролле css

Элемент с position: sticky; фиксируется в рамках ближайшего родителя, когда расстояние до границы ближайшего прокручиваемого родителя достигает указанного в свойствах top , right , bottom , left значения. На то, в каком месте элемент прикрепится и где отцепиться, также влияют свойства padding , margin и transform . Размещение элемента над другими элементами правится с помощью свойства z-index .

После того, как свойство position примет значение sticky , размер элемента не изменится, а соседние элементы не сдвинутся на освободившееся пространство.

Фиксируем шапку сайта при прокрутке страницы.

Допустим у вас важная информация например контакты находятся в шапке и вы хотите что бы они всегда были на веду у клиента или просто хотите что основная навигация всегда была под рукой.

То можно просто зафиксировать шапку сайта что бы при прокрутке она всегда была на одном месте при прокрутке страницы. Для того что бы это реализовать нам понадобится немного подправить стили (CSS).

И теперь добавим необходимые стили:

Теперь шапка будет зафиксирована вверху экрана и будет неподвижна при прокрутке.

Скрываем/показываем Header при прокрутке

Логика простая — если текущее значение прокрутки страницы больше чем предыдущее, значит прокрутка осуществляеся вниз, а при прокрутке вниз добавляем блоку .header класс header_hidden , который скрывает его. Если текущее значение прокрутки меньше предыдущего, значит прокручиваем страницу вверх, и у блока .header удаляем класс header_hidden , который его скрывал

Вместе с направлением прокрутки проверяем, имеет ли .header класс header_hidden , чтобы не запускать добавление/удаление класса header_hidden при каждом событии прокрутки в одном направлении

Тот же самый скрипт на чистом JavaScript

Ниже тот же скрипт, но на чистом JavaScript (ES6) c комментариями. Логика аналогична

Итоги

Данный приём полезен также и для мобильной верстки — при прокрутке вниз, Header не мешает просмотру контента, и контент занимает все окно браузера, а при малейшей прокрутке вверх, Header отображается и готов к взаимодействию, без необходимости прокручивать страницу к самому началу

Дополнительно рассмотрели разницу скриптов при использовании библиотеки jQuery и без неё — на чистом JavaScript в современном стандарте ES6

Три варианта фиксации элемента на сайте на CSS/jQuery

Фиксирование элементов сейчас пользуется большой популярностью. Так, например, «Яндекс» или социальная сеть «ВКонтакте» (на момент написания статьи) фиксируют свое меню и поиск при прокрутке страницы. Вполне хорошее решение, позволяющее ограничить пользователя от лишних действий в получении доступа к нужному функционалу сайта и позволяющее сделать некий акцент на важных элементах.

Зафиксировать элемент на сайте можно несколькими способами, каждый из них хорош в своем случае.

Фиксация элемента на сайте на CSS

Самый простой вариант – это фиксация элемента на чистом CSS. Все, что вам нужно, это добавить следующие стили к элементу:

Положение в таком случае будет верхнее, по всей ширине экрана. Вариант отлично подходит для элементов, которые изначально находятся в самом верху (меню и поиск).

Если хотите поиграть с положением – измените значение свойств left, top, right и bottom соответственно.

Минусы – не подходит для элементов, находящихся ниже верхней границы сайта.

Здесь на помощь к нам приходит другое значение position – sticky. Оно фиксирует тот или иной элемент только в рамках первого родительского контейнера. Фиксация элемента при этом начнется тогда, когда верхняя граница элемента совпадет с верхней частью окна браузера, и завершится при достижении элементом конца родителя, при этом другие элементы (и даже окружаемый текст) не смещаются, что очень удобно в отдельно взятых случаях. Пример использования:

Эти стили вы присваиваете тому элементу, который хотите зафиксировать. Свойство top со значением «10px» говорит здесь о том, что при фиксации элемента необходимо сделать отступ от верхней границы в 10 пикселей.

Фиксация элемента на сайте при прокрутке страницы на jQuery

Этот вариант, в отличие от первого, фиксирует нужный вам элемент только тогда, когда его положение равняется верхней границе вашего экрана при прокрутке страницы.

«.fixed_block» здесь – это класс элемента, который нужно зафиксировать при прокрутке, а «.fixed_block_position» — класс обертки.

Их вы вставляете без изменений. Отличный вариант для фиксации рекламных блоков или других элементов находящихся не в первых рядах.

Фиксация элемента на сайте при прокрутке страницы с остановкой в нужном месте на jQuery

Этот вариант является доработкой вышеуказанного способа. Я много видел сайтов, где в сайдбаре (боковой колонке сайта) фиксируются различные рекламные блоки. Все бы ничего, но при прокрутке страницы до самого низа такие блоки перекрывают футер (низ сайта) и зачастую препятствуют получению немаловажной информации или навигации в нем.

Чтобы исправить этот конфуз и удержать блок при достижении указанной области, и существует этот вариант.

Ну и те же стили из второго варианта с небольшим дополнением:

На что здесь стоить обратить внимание?

«.fixed_block» – это элемент, который мы фиксируем при прокрутке. «.fixed_block_position» — класс обертки, а «.fixed_block_stop» – это элемент (граница), достигнув которую элемент остановит свое движение (фиксацию).

Похожие публикации:

  1. Как вставить комментарий в файл css
  2. Как выглядит css код
  3. Как сделать чтобы картинка не выходила за блок css
  4. Как сделать чтобы фон подстраивался под размер экрана css
Читать:
Как узнать длину листа в python

Похожие записи

Как создать множество

admin

Как поднять кузов на камазе 6580 видео

admin

Выбрать тип безопасной блокировки экрана как отключить

admin