Автор: Stasyuk Eugene 1388 Метки: 25.06.2022

Position sticky не работает — к моему удивлению это довольно частый запрос, с которым я сам в свое время столкнулся. Sticky — это довольно простое и универсальное решение для размещения липких блоков на странице. Как минимум, оно не требует от тебя приличного количества javascript кода, который и работал местами коряво. Сейчас же данную процедуру можно сделать всего лишь с помощью использования нескольких css директив.

И да, для непосвященных — вот как работает position sticky: https://codepen.io/jecosjmecos/pen/oNOMBxz

Почему position sticky не работает?

I feel sticky

Начнем с рассмотрения возможной проблемы, а потом поговорим о том, как использовать sticky. В свое время я столкнулся с этой проблемой. Возможно, дело в том, что у одного из родителей элемента стоит свойство overflow: hidden, auto, scroll. В примере выше наш липкий блок имеет родителя с классом .container, который имеет родителя <section>. Так вот, если одному из этих родителей прописать свойство overflow , голубой блок перестанет перемещаться внутри. Проверяйте 😁

Как работает?

position sticky

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

Всё что нам необходимо сделать — это:

  • Добавить голубому блоку (элементу с классом .blue) свойство position: sticky
  • Определиться с тем, куда блок будет прилипать — к верху или к низу. В моем примере он наверху, поэтому добавляем свойство top: 15px
  • Проследить, чтобы родители элемента не имели свойств overflow: hidden, auto, scroll

В основном этого более чем достаточно, чтобы все работало как нужно.

Вернуться на главную

Другие статьи

Всплывающее окно на сайте (попап, модальное окно) pop-up window

Всплывающее окно на сайте (попап, модальное окно)

Всплывающее окно на сайте (попап, модальное окно)

Когда я только осваивал азы разработки, всплывающее окно я делал вручную. Да, да — вместо того, чтобы найти какое-то готовое решение, я занимался этим неблагодарным делом 🤪. Мне казалось, что особо ничего сложного в этом нет. Но, только спустя какое-то время работы над данным вопросом, я начал осознавать, что сделать это не так уж и […]

Как перевести тему WordPress на другой язык перевод

Как перевести тему WordPress на другой язык

Как перевести тему WordPress на другой язык

Работая над созданием темы на WordPress мы довольно часто сталкиваемся с такими надписями как «загрузить еще, автор, метки» и т.д. Например как в моем блоге: Хорошо когда сайт на одном языке. Тогда с ними то особо делать ничего и не нужно. Но что делать когда сайт мультиязычный. Если заказчику в перспективе нет необходимости в будущем […]