Stickyfill
Полифилл для position: sticky
Устаревшая фигня!
Полифилл хорошо поработал, пока браузеры внедряли поддержку
Полифилл хорошо поработал, пока браузеры внедряли поддержку
position: sticky
. Сейчас стики можно смело использовать без полифилла, все современные браузеры поддерживают их.
Стика — это такой блок, который прилипает к краю экрана, когда доскролливаешь до него. А когда доезжает до конца родительского блока — уезжает вместе с ним. Вот прям как этот параграф.
Код очень простой:
.sticky {
position: -webkit-sticky;
position: sticky;
top: 0;
}
top
меняет отступ стики от края окна. Еще можно указать margin-bottom
, чтобы стика останавливалась чуть раньше, чем обычно.
Проблема в том, что на данный момент стики поддерживаются только в Safari на Маках и на айОси.
Поэтому я написал Stickyfill. Он эмулирует стики там, где они не поддерживаются нативно.
Что умеет:
- Работает со стиками, прилипающими к верхнему краю
Работает c ячейками таблицыОтключил, пока Фаерфокс не реализует это нативно- Работает в IE9+
- Отключается в старых браузерах и в браузерах с нативной поддержкой стик
- Эмулирует нативное поведение стик (там, где умеет)
- Учитывает кучу разных кейсов
Что не умеет:
- Не умеет левые, правые, нижние и комбинированные стики
- Не «стыкует» табличные стики
- Не работает во внутренних блоках со скроллом
- Не парсит CSS (включается ручками)