Jump to content
  • 0

Не работает мобильное меню


garmoni
 Share

Question

Всем привет. Сделала мобильную версию меню , при открытии сайта на небольшом экране появляется мобильное меню, но оно не открывается. Помогите разобраться в чем причина.

https://jsfiddle.net/2dcah0fL/

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0
1 час назад, AlexZaw сказал:

Открываться то нечему, js у вас для дива с классом .menu добавляет класс menu_state_open, а в css не прописаны стили для этого класса

класс у меня прописан внизу в медиа 
 

.menu.menu_state_open .menu__icon span:nth-child(1) {
    top: 18px;
    width: 0%;
    left: 50%;
    }

    .menu.menu_state_open .menu__icon span:nth-child(2) {
        transform: rotate(45deg);
    }

    .menu.menu_state_open .menu__icon span:nth-child(3) {
        transform: rotate(-45deg);
    }

    .menu.menu_state_open .menu__icon span:nth-child(4) {
        top: 18px;
        width: 0%;
        left: 50%;
    }

    .menu.menu_state_open .menu__links {
        opacity: 1;  
    }

 

Link to comment
Share on other sites

  • 0

это не стили для класса menu_state_open,

это стили для классов .menu__icon и .menu__links, которые в хтмл располагаются внутри дива с классом menu_state_open, который лежит внутри дива с классом .menu

Edited by AlexZaw
Link to comment
Share on other sites

  • 0
1 час назад, AlexZaw сказал:

это не стили для класса menu_state_open,

это стили для классов .menu__icon и .menu__links, которые в хтмл располагаются внутри дива с классом menu_state_open, который лежит внутри дива с классом .menu

Описание взяла от сюда http://getinstance.info/articles/css/responsive-menu/

Там больше нет стилей 

Link to comment
Share on other sites

  • 0

Извиняюсь, menu_state_open, добавлется ведь при помощи js.

Могу посоветовать только внимательнее копировать стили css и структуру html , присмотритесь, какие классы у вас указаны в стилях, и какие в html.

Link to comment
Share on other sites

  • 0

jquery тут не виноват, если его подключить все равно работать не будет, ошибки в наименовании классов, может и еще в чем, не смотрел, но сначала нужно классы правильно расставить

Link to comment
Share on other sites

  • 0
1 час назад, mrnobody сказал:

В консоли ошибка - говорит, что вы не подключили jQuery. Или вы его не подключили только в jsfiddle, а в проекте подключен?

не подключала, как подключить? в примере ну указано ничего

1 час назад, AlexZaw сказал:

jquery тут не виноват, если его подключить все равно работать не будет, ошибки в наименовании классов, может и еще в чем, не смотрел, но сначала нужно классы правильно расставить

классы исправила, но все так же не работает 
https://jsfiddle.net/2dcah0fL/2/

Link to comment
Share on other sites

  • 0
1 час назад, prophet_07 сказал:

Если подключить jQuery то меню работает: https://jsfiddle.net/3y4s6ve3/

У вас в ".menu__icon" со span что-то не так, они получаются и для крестика и для пунктов одновременно? 

Подключила jQuery. Немного подправила и начало открываться содержимое меню, но почему то не то меню. И в полосках меню виден текст меню ( 

 

https://jsfiddle.net/2dcah0fL/5/

Link to comment
Share on other sites

  • 0

В .menu__icon должны быть пустые span. Они используются для иконки открытия/ закрытия. 
Текст, который там будет трансформироваться, как в примере, который выше присылал, так span-ы эти преобразуются в крестик. Как в указанном примере.
А в работе задействовано только основное меню ".menu__links"

 

Link to comment
Share on other sites

  • 0
3 часа назад, prophet_07 сказал:

В .menu__icon должны быть пустые span. Они используются для иконки открытия/ закрытия. 
Текст, который там будет трансформироваться, как в примере, который выше присылал, так span-ы эти преобразуются в крестик. Как в указанном примере.
А в работе задействовано только основное меню ".menu__links"

 

Спасибо. Теперь разобралась. Осталось поменять стили для .menu__links в мобильной версии

Link to comment
Share on other sites

  • 0

Ну вы же position:fixed; используете. Где правила right, top... ?

fixed

По своему действию это значение близко к absolute, но в отличие от него привязывается к указанной свойствами left, top, right и bottom точке на экране и не меняет своего положения при прокрутке веб-страницы.

 

Edited by Q4Dizzy
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Etaro
      Я не понимаю, в чём проблема в вертикальном выпадающем меню. Где я мог напортачить? Нужно сделать, чтобы колонки были по вертикали, а не по горизонтали.


    • By Sve
      Всем привет :)
      Пытаюсь сверстать свой первый макет, и возникла проблема с меню. Должно быть, как на первой картинке - это макет из фш.
      Выходит, как на второй, меню спадает вниз. 
      Прошу, пожалуйста, тыкните на ошибку в коде, и, если есть возможность, объясните. буду очень рада ответам!
      Код кидаю:
      *{margin: 0; padding: 0; outline: 0} .clearfix::after { content:""; height: 0; display: block; clear: both; } div .container { width: 1300px; margin: auto; background: #fff; } header { width: 100%; height: 130px; border-top: 8px solid #a292b3; position: fixed; z-index: 2; } .logo { margin: 30px 0 20px 170px; } .menu { float: right; margin-right: 145px; } .menu li { display: inline-block; list-style: none; padding: 35px; }  


    • By Рома
      Доброго дня!
      Есть многоуровневое меню (картинка 1)
      Жму на кнопку Каталог - открывается блок с дополнительным содержимым. В этом содержимом есть подменю и под-под меню. Проблема тут такая часть содержимого из правого под-под меню не умещается на экране. Все потому, что блок с доп. содержимым относительно кнопки КАТАЛОГ открывается с выравниванием по левой своей части.
      Вот код в этом положении
      .cs-menu-container .dropdown, ul.type-category li .sub-cate { position: absolute; top: auto; left: 0; z-index: 1000; float: none; min-width: 230px; padding: 0; margin: 0; border: 1px solid #cccccc; border-top:2px solid #c04a62; background: #fff; Что я делаю: 
      меняю значение left: на -200px;
      В итоге получаю нужное мне расположение (картинка 2)
      Но тут же исправляя одно я получаю вторую проблему: блок содержимого кнопки ИНФОРМАЦИЯ уходит далеко влево от самой кнопки вызова (картинка 3)
       
      Какие мне элементы использовать в коде, чтобы выравнивание всех блоков меню (который появляется при нажатии на кнопку) происходило по центру самого блока относительно кнопки? Как правильно выровнять блок относительно кнопки?
       



    • By garmoni
      Нашла анимацию гамбургер меню из трех полосок в крестик. Не могу понять как к нему прикрепить появление самого меню при нажатии.
      <nav class="nav"> <div class="nav__btn"> <a id="nav-toggle" href="#"><span></span> </a> </div> <ul class="nav__list"> <li> <a href="#" class="nav__link">Episodes</a> </li> <li> <a href="#" class="nav__link">Characters</a> </li> <li> <a href="#" class="nav__link">Park</a> </li> <li> <a href="#" class="nav__link">Gallery</a> </li> <li> <a href="#" class="nav__link">actors</a> </li> </ul> </nav> $(document).ready(function(){ $('#nav-toggle').click(function(){ $(this).toggleClass('active'); }); .nav__list { display: none; } #nav-toggle {position: relative; display: inline-block; width:42px; height:25px;} #nav-toggle span { position: absolute; left: 0; top: 10px; } #nav-toggle span, #nav-toggle span:before, #nav-toggle span:after { position: absolute; display: block; content: ''; height: 5px; width: 42px; background: #000; border-radius: 2px; cursor: pointer; } #nav-toggle span:before { top: -10px; } #nav-toggle span:after { bottom: -10px; } /* Добавим анимацию всех свойств для блоков нашей иконки */ #nav-toggle span, #nav-toggle span:before, #nav-toggle span:after { transition: all 500ms ease-in-out; } /* Центральный блок делаем прозрачным */ #nav-toggle.active span { background-color: transparent; } /* Смещаем псевдо-элементы в центр иконки (на место основного блока) */ #nav-toggle.active span:before, #nav-toggle.active span:after { top: 0; } /* Наклоняем псевдо-элементы под углом 45 градусов, но в разные стороны */ #nav-toggle.active span:before { transform: rotate(45deg); } #nav-toggle.active span:after { transform: rotate(-45deg); }  
    • By d0ublezer0
      Собственно, вопрос в заголовке.
      Хочется добротное адаптивное меню, складывающееся в гамбургер. Нравится поведение http://mmenu.frebsite.nl/ с выплывающими уровнями в мобильной версии, но оно устроено так, что растянуто по всей высоте, как в приложении. А в десктопном варианте оно должно именно "выпадать". например, как на https://www.ulmart.ru/catalog/mobile_charger
      Поделитесь советами из опыта пожалуйста?
       
       
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy