Сайт - как сделать что бы при раскрытии верхнего меню оно было бы на ширину самого меню, не зависимо на какой пункт наведен курсор ? Как сделать маску в фоне при раскрытии меню ? Т.е меню раскрылось и сзади белый фон непрозрачный.
костыль не самый лучший, но я его применял: через css каждый выпадающий блок позиционировал либо относительно левого либо относительно правого края с указания размеров там же
Придёться немного повозиться (особенно учитывая, что шаблон адаптивный). 1. Код: .navbar-nav > li > .dropdown-menu Задаём здесь ширину для выпадающего блока равную ширине панели меню (для каждого медиаквери в отдельности, но только для тех, при которых меню в десктопном виде). 2. Для выпадающего блока каждой из кнопок в отдельности задаём отрицательный отступ слева (для каждого блока нужно подобрать вручную): Код: left: -1111px; То есть, при раскрытии меню полностью закрыть всю остальную страницу7
Тут, конечно, с вёрсткой повезло в шблоне, меню идёт отдельным блоком. Нужно добавить тег для оверлея. Для меню (#menu) поставить z-index на единицу больше, чем у оверлея. И зацепиться за события дропдауна, чтоб показывать и скрывать оверлей: Код: $('.dropdown').on('show.bs.dropdown', function () { $('#overlay').show(); }); $('.dropdown').on('hide.bs.dropdown', function () { $('#overlay').hide(); });
Добавить к каждой выпадающей фиче дополнительный класс и переопределить стили for (var tegsLi = document.getElementById ('menu').getElementsByClassName ('dropdown-menu'), j = 0, lj = tegsLi.length; j < lj; j++) tegsLi [j].className = 'dropdown-menu item-' + (j + 1);
При помощи alex_storm и Dotrox вехнее меню заработало как надо. Теперь не понятно остался вопрос по поводу маски (фона) при открытии меню )
А что там непонятного то? js код я написал, нужно только сделать div с id overlay и соответствующими стилями: Код: background: #fff; height: 100%; width: 100%; position: fixed; top: 0; left: 0; z-index: 100; display: none; А для меню z-index 101. Я думал, с этим и так всё понятно. Кстати, у меня все выпадающие блоки меню выползают за левый край панели меню где-то на 22 пикселя (Мозилла, ширина экрана 1280).