1. Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с Правилами раздела
    Скрыть объявление

[Помогите] Прокрутка сайта под открытым меню

Тема в разделе "Вёрстка (HTML, CSS)", создана пользователем AlexGood, 25 май 2018.

  1. AlexGood

    AlexGood

    Регистрация:
    28 ноя 2016
    Сообщения:
    254
    Симпатии:
    7
    https://test.bestcard.by/demo/bestcard/discounts_for_points.php#
    разрешение 767 и меньше, нажимаем выбрать город или категорию, и при открытом меню когда скролим то прокручивается сайт, как этого избежать, и сделать чтобы скролились пункты меню а не сайт?
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    у меня есть только идеи по
    HTML:
    overflow-y: scroll;
    max-width: фиксированный
    но я не верстальщик :Smile:
     
    AlexGood нравится это.
  3. AlexGood

    AlexGood

    Регистрация:
    28 ноя 2016
    Сообщения:
    254
    Симпатии:
    7
    Честно, не совсем понял куда это повесить, на navigation_city?
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    на список (ul) в #navigation_new.
    Но, он всёравно будет работать немного криво :Smile:
     
    AlexGood нравится это.
  5. AlexGood

    AlexGood

    Регистрация:
    28 ноя 2016
    Сообщения:
    254
    Симпатии:
    7
    Странно, но у меня ничего не изменилось :(
     
  6. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    У .navigation_city должно быть:
    Код:
    height: 100%;
    У #navigation_new:
    Код:
    height: calc(100% - 75px);
    overflow: auto;
    А на body в момент открытия меню вешать overflow: hidden; и затем снимать.

    И пару вопросов:
    1. Почему сейчас у #navigation_new высота добавляется только в момент разворачивания меню? Это не имеет смысла, она должна быть постоянно.
    2. Что делает div #close_select_city внутри ul со списком городов? Это как раз тот случай, когда абсолютно оправданно использовать абсолютное позиционирование.


    И вопрос вам для саморазвития: почему я высоту задал в таком виде - calc(100% - 75px)?
     
    AlexGood и $iD нравится это.
  7. AlexGood

    AlexGood

    Регистрация:
    28 ноя 2016
    Сообщения:
    254
    Симпатии:
    7
    Как раз поздно уже было вчера, вот так все описал для меню (пока экспериментировал над пунктом - "Выбрать город"):
    Код:
    function activeMenu(){
            close_select_city.onclick = function(){
            document.body.style.overflow = 'auto';   
            nav.style.left = "100%";
            nav.style.height = "0";
            active = false;
        }
        if(active){
            nav.style.left = "100%";
            nav.style.height = "0";
            // wrapper.style.overflow = 'auto';
            document.body.style.overflow = 'auto';
            active = false;
    
        }else{
            nav.style.left = "0";
            nav.style.height = "100%";
            document.body.style.overflow = 'hidden';
            active = true;
        }
    }
    Ответы:
    1. Изначально как-то иначе делал, так оно и осталось.
    2. Крестик на закрытие изначально тоже был туда помещен, надо вынести за пределы.

    По поводу саморазвития: эту фишку я знаю - это получается 100% высоты - 75px верхнего меню верно?

    А как можно сделать чтобы когда у меня body overflow = 'hidden', а пункты меню при открытом меню, при скроле прокручивались внутри
     
  8. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Да.

    Я уже выше написал как. Если использовать мои стили - всё будет прокручиваться, как надо.
     
    AlexGood нравится это.