2017-01-10 7 views
-1

Я работаю над меню. Вы можете видеть, что здесь живут: http://lumenis.bondtest.nl/SurgicalКак установить ширину каждого выпадающего уровня индивидуального

Это примерно такой: enter image description here

меню третьего уровня имеет (выпадающий-меню) тот же класс, который вызывает меню, чтобы иметь точно такую ​​же ширину. Поэтому я знаю, что вызывает проблему, но я не уверен, как ее решить.

Я не могу удалить раскрывающееся меню и дать им как отдельный класс, так как bootstrap работает с этим классом.

Например:

enter image description here enter image description here

Что делает это выглядит очень странно, потому что она меняется при наведении курсора мыши.

Это мой код:

<nav class="navbar navbar-default lumenisInnerMenu" role="navigation"> 
    <div class="container-fluid"> 
     <div class="navbar-header"> 
       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse" aria-expanded="false"> 
       <span class="sr-only">Toggle navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       </button> 
     </div> 
     <div class="collapse navbar-collapse lumenisListItems"> 
      <ul class="nav navbar-nav"> 
       [*>NODE] 
      </ul> 
     </div> 
    </div> 
</nav> 

[>NODE] 
    <li class="[?SELECTED]dir current[/?][?NODE]dropdown-submenu HasChildren child[=DEPTH] dropdownmenu [/?]"> 
    [?ENABLED] 
     <a [?!NODE] href="[=URL]" [/?] class="[?NODE]dropdown-toggle[/?]" data-toggle="dropdown"> 
       <div class="textsubitem"> 
        <span>[=TEXT]</span> 
       </div> 
     </a> 
    [?ELSE] 
     <a href="#" [?NODE] [/?]> [?NODE] 
      <span>[=TEXT]</span>[/?] 
     </a> 
    [/?] 
    [?NODE] 
     <ul class="dropdown-menu dropdown[=DEPTH]" id="[=ID]"> 
      [*>NODE] 
     </ul> 
    [/?] 
    </li> 
[/>] 

Может кто-нибудь мне помочь? Заранее спасибо.

РЕДАКТИРОВАТЬ: Я решил это следующим образом:

if ($(window).width() > 960) { 
    var maxWidth = 0; 
    $('.dropdown0').each(function(){ 
     var itemWidth = $(this).outerWidth(true); 
     maxWidth = Math.max(maxWidth, itemWidth) + "px"; 
     $(".dropdown0 > li").css("max-width", maxWidth); 
    }); 
} 

Искал самую широкую ширину и установить максимальную ширину.

+0

Вы можете поделиться некоторыми CSS, пожалуйста? Вы вообще его стиль? –

+0

Каждый UL также имеет класс 'dropdown [= DEPTH]', поэтому второй уровень имеет 'dropdown0', третий уровень имеет' dropdown1', используя те, которые вы можете их разделить индивидуально. – Goombah

ответ

0

Для выпадающих списков второго уровня используйте класс dropdown0, а для раскрывающегося списка третьего уровня используйте фиксированную ширину с классом dropdown1.

Эти классы уже применяются, поэтому вы можете их индивидуально подгонять.

+0

Правда, я уже это сделал. Но я не хочу устанавливать максимальную ширину в dropdown0 или dropdown1. И до тех пор, пока у этих двух выпадающих меню есть «раскрывающееся меню» класса, он автоматически настраивает ширину. –

+0

. Ширина автоматически настраивается из-за раскрывающегося меню класса '. Теперь, если вы не хотите использовать 'dropdown0' или' dropdown1', вы должны применять разные классы или использовать динамические идентификаторы, назначенные в раскрывающихся элементах. – nashcheez

+0

См. Отредактированный пост для моих решений –