Jump to content
  • 0

в горизонтальном меню съезжают пункты вслед за подпунктами


alexeymeek
 Share

Question

Необходимо меню позиционировать справа в блоке, а выпадающие пункты должны выпадать влево:

 

песочница

 

(просмотр full screen)

 

...и при наведении на раздел 3 выпадает список с подразделами, однако пункты раздел 1 и раздел 2 тоже уезжают влево на уровень подразделов. Как не бился не могу исправить...

:dash: ...помогите, что-то логику ни как не могу понять с этой многоуровневостью.

Edited by alexeymeek
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

Дак position: absolute; вам в помощь 

...вы серьезно считаете, что я впервые от вас услыхал об абсолютном позиционировании?

по моему я сразу сказал :dash: ..., или вы думаете, что я за 2 секунды набрал код, ага не получается и сразу пошел по форумам вопросы задавать?

 

ЗЫ. Не все же такие умные. Не рассматривайте вопрос со своей позиции, попробуйте взглянуть глазами нуба...

Edited by alexeymeek
Link to comment
Share on other sites

  • 0

ну из вашего поста не видно, что вы экспериментировали с позиционированием, и данный код набирается за 1мин, вряд ли вы за 2сек могли его набрать.

http://jsfiddle.net/fqt2aqoo/1/

Link to comment
Share on other sites

  • 0

ну из вашего поста не видно, что вы экспериментировали с позиционированием, и данный код набирается за 1мин, вряд ли вы за 2сек могли его набрать.

http://jsfiddle.net/fqt2aqoo/1/

...так я и говорю, что не 2 секунды и сразу на форумы, провозился я с ним достаточно, в двух местах не ответили на данный вопрос. Я уж когда совсем отчаялся, пошел помощи просить. А не видно, потому, что я не стал описывать свои мытарства в пост, оставил минимум необходимого. Спасибо, меню работает, теперь буду смотреть ваш и свой код, сравнивать и догонять, мне же не просто меню надо (меню конечно надо для сайта), а понять почему я не смог (говорил же логику понять не могу, с ней у меня всегда туго было, поэтому и не программирую пока), не буду же я постоянно людей добрых просить мне делать меню (и др.  т.п.)... Может чего сам не разберусь, возникнут попутные вопросы в рамках данной темы.

 

ЗЫ: Я понимаю, что я далек от совершенства и не претендую на супер верстальщика, могу задавать глупые вопросы, не судите строго.

Link to comment
Share on other sites

  • 0

Можете еще вот это почитать http://www.xiper.net/collect/js-plugins/usability/diagonal-drop-down-menu

За ссылку спасибо! (постоянно приходил за ответами на этот форум и сайт, только зарегистрировался недавно, а давно надо было), однако программирование для меня тема закрытая. Я тут со своим меню (из темы топика) ковырялся, так и не разобрался, воспользовался рабочим примером товарища  Switch74, при оформлении (наполовину тупо методом тыка) изуродовал весь код, перемешал стилевое оформление с разметкой. Вроде все работает пока, одна проблема: пункты получились разной ширины, ибо ссылки там разной ширины. Сколько не бился, так и забросил это дело. Так что до JS мне не добраться в этой жизни...

Link to comment
Share on other sites

  • 0

Ссылкам надо display: block; вероятно задать

...действительно, со свойством display: block; реально задать ширину (еще раз спасибо!, вот теперь наверное вам понятно на каком уровне мои познания в верстке :unsure: ). Как сделать ширину выпадающего списка резиновой, чтоб зависела от ширины самой широкой ссылки в списке? :blush:

Link to comment
Share on other sites

  • 0

width: auto; задать выпадющим спискам, наверно.

...не помогает, если фиксированную ширину задать, то ссылки одной ширины, длинные не помещаются и выходят за границы, а если auto, то ссылки помещаются но все разной ширины, в зависимости от содержания, как впрочем и без auto.

Link to comment
Share on other sites

  • 0

...как ни странно, но помогло   #menu li { width: 100%; } ,каждый выпадающий список стал шириной с самую длинную ссылку в нем...

 

(Спасибо что не оставили нуба :blush:  без внимания и науки! Я обращусь, вероятнее всего, еще не раз.)

 

ЗЫ. почему, когда я жму "нравится", мне сообщает система, что я исчерпал положительные оценки на сегодня, хотя я еще не разу не пользовался оценками?

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 digenis
      Проблема заключается в том что мне нужно чтобы изображение было на левом краю до конца блочного элемента, а список чтобы был справа и также до конца блочного элемента. Это все в заголовке.  https://jsfiddle.net/Lyguc520/3/

    • 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); }  
×
×
  • 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