Задать вопрос
@tvsjke
информация засекречена

Как задать ul'у ширину по его контенту?

Как мне сделать заполнение списка элементами в длину, при этом с max-width ?
Вот так prnt.sc/ddjkfn

Структура (урезанно) такая:

<ul class="dropdown-menu">
   <li>
      <a></a>
         <ul class="sub-menu">
             <li class="sub">
                 <a></a>
             </li>                          
         </ul>
    </li>
</ul>


.dropdown-menu >li:hover ul.sub-menu{
    display:inline-block;
}

ul.sub-menu {
    display: none;
    position: absolute;
    left: 100%;
    top: 0;
    background-color: #F4F4F5;
    list-style: none;
    max-width: 800px;
    height: auto;
}

ul.sub-menu > li {
    display: inline-block;
}


И выводится вот так (получается, ширина ul по ширине самого длинного li):
prntscr.com/ddjad9

Буду очень благодарен за помощь
  • Вопрос задан
  • 2214 просмотров
Подписаться 2 Оценить 14 комментариев
Пригласить эксперта
Ответы на вопрос 2
bugo_aneo
@bugo_aneo
Верстальщик по жизни, буддист, кофеман
Может такой вариант на что то натолкнет.
codepen.io/emelyanova/pen/PbaEQK

Как-то про... min-width забыли немного.)))
Ответ написан
Комментировать
@Saboteur_x86
Столкнулся с аналогичной проблемой!
У родительского "ul" свойство min-width: 100%; перестало работать в MS Edge (в других браузерах норм).

Лечение оказалось несложным:
Родительскому "ul" заменил min-width: 100%; на min-width: max-content;
После чего выпадающий список меню стал корректно отображаться (по ширине содержимого) во всех браузерах включая MS Edge.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы