В библиотеке Headroom.js класс
headroom--not-top используется для отслеживания положения
элемента относительно верхней границы окна браузера. Он является одним
из служебных классов, автоматически добавляемых к элементу при прокрутке
страницы и изменении состояния шапки.
Headroom.js контролирует положение элемента, к которому привязан, и добавляет или удаляет определённые CSS-классы в зависимости от текущего состояния:
headroom--pinned – шапка зафиксирована
в верхней части окна.headroom--unpinned – шапка скрыта при
прокрутке вниз.headroom--top – страница находится в
самом верхнем положении (scrollTop = 0).headroom--not-top – страница
прокручена вниз, элемент уже не находится у верхней границы окна.Класс headroom--not-top появляется только после
того, как пользователь прокрутил страницу хотя бы на один пиксель
вниз. Его появление сигнализирует, что элемент больше не
находится в «нулевой» позиции и можно применять стили для фиксированной
шапки.
Использование класса headroom--not-top позволяет
задавать стили, которые будут применяться, когда элемент перестаёт
находиться у верхней границы окна. Например:
.header {
transition: box-shadow 0.3s ease, background-color 0.3s ease;
}
.headroom--not-top {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
background-color: #ffffff;
}
В этом примере:
.headroom--not-top добавляется к шапке, появляется тень и
меняется фон.scrollTop = 0) класс
удаляется, и шапка возвращается к исходному стилю.Для контроля состояния можно использовать методы и события
Headroom.js. Класс headroom--not-top генерируется
автоматически, но есть возможность реагировать на его появление
программно:
const header = document.querySelector('.header');
const headroom = new Headroom(header, {
offset: 50, // Минимальная прокрутка до активации
tolerance: {
up: 5,
down: 5
}
});
headroom.init();
header.addEventListener('headroom.notTop', () => {
console.log('Элемент перестал быть у верхней границы');
});
Событие headroom.notTop позволяет выполнять кастомные
действия, такие как анимация, изменение логики навигации или
динамическая подгрузка контента.
Класс headroom--not-top часто используется в комбинации
с:
headroom--pinned – для закрепления
шапки при прокрутке вверх.headroom--unpinned – для скрытия шапки
при прокрутке вниз.Пример комбинированного CSS:
.header {
position: fixed;
width: 100%;
top: 0;
left: 0;
transition: transform 0.3s ease, background-color 0.3s ease;
}
.headroom--unpinned {
transform: translateY(-100%);
}
.headroom--pinned {
transform: translateY(0);
}
.headroom--not-top.headroom--pinned {
background-color: #f8f8f8;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
Таким образом, headroom--not-top служит индикатором
того, что пользователь покинул верхнюю позицию страницы, и позволяет
задавать динамическую визуализацию шапки в зависимости
от прокрутки.
headroom--not-top для визуального
разделения шапки и контента при прокрутке.headroom--pinned и
headroom--unpinned.Класс headroom--not-top позволяет легко различать
состояния элемента на странице, обеспечивая гибкую и удобную настройку
интерфейса при прокрутке.