Задать вопрос
@abylalikkkk

Как фиксировать шапку страницы при скролле?

61e4cf9cd93a0936103727.jpeg
Как фиксировать url шапку при скролле как в телеграме, тоесть при скролле вниз на моем сайте url шапка браузера прыгает вверх, а в телеграме при скролле оно остаётся на месте
  • Вопрос задан
  • 703 просмотра
Подписаться Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
1vanguard
@1vanguard
Мечтать не вредно, вредно не мечтать
Для блока который нужно фиксировать задаёте position: fixed (+ top, right, bottom, left при необходимости). Для контейнера в котором находится фиксированный элемент (или body) задаёте padding-top равный высоте фиксированного элемента.
Данные свойства можно назначать элементам динамически с помощью JavaScript или jQuery, если у вас адаптивный дизайн.
window.addEventListener('resize', function(event) {
    ...
}, true);

или
window.onresize = function(event) {
    ...
};

Внутри данных функций при загрузке страницы (см. addEventListener('DOMContentLoaded')) обычно я высчитываю высоту фиксируемого блока и потом назначаю этот размер для padding-top нужного мне родителя. Это позволяет корректно отображать контент при изменении ширины окна.
На основе этой идеи также делается "липкий блок", когда нужно, чтобы элемент становился фиксированным при перелистывании страницы в определённый момент. Здесь стоит использовать cвойство scrollTop.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы