Поэтому я сделал фиксированное выпадающее меню, которое меняется на меню гамбургеров для мобильных устройств. Все работает отлично на рабочем столе, но на мобильных устройствах я не могу прокручивать элементы меню. Я попробовал множество предлагаемых исправлений, но ни один из них не исправил мою проблему. Большинство исправлений, с которыми я столкнулся, включали в себя следующую форму, но не сработали:
max-height: 300px;
overflow-y: scroll;
Вот скрипка того, что у меня есть прямо сейчас:
https://jsfiddle.net/doitliketyler/2gqd0hLs/3/
Черный квадрат - это кнопка мобильного гамбургера. Кто-нибудь знает, как заставить это работать нормально и плавно для мобильных устройств? Любая помощь будет принята с благодарностью. Спасибо.
Положение статики предотвратит прокрутку. Поэтому, чтобы исправить это, вы должны установить свое меню в положение что-то вроде родственника для мобильных устройств.
Таким образом, для селектора .header
внутри @media only screen and (max-width:960px)
media @media only screen and (max-width:960px)
, установите положение относительно.
@media only screen and (max-width: 960px) {
.header {
padding-bottom: 0;
position: relative;
}
}
Редактирование 1: Чтобы сохранить фиксированное меню, одним из вариантов является установка выпадающей части как абсолютной позиции с переполнением-y.
@media only screen and (max-width: 960px)
.header .header__column--navigation {
margin-top: 80px;
position: absolute; //Added
min-height: calc(100vh - 110px); //Added: set the second parameter of calc to the height of your header. ex: https://c.flm.pw/2018-06/6oiip.png
height: 100%; //Added: Tell the absolute div to take up as much height as it needs.
overflow-y: auto; //Added: Make the absolute div have the ability to scroll, but hide the scrollbar when it doesn't.
}
}