Как сверстать такое меню
<div class="menu">
<div class="item">
<a class="sub" href="#">Настойки</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
...
</ul>
</div>
</div>
пробовал гридами както так:
.menu{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
получается что блоки второго ряда выравниваются по одной линии начиная от самого высокого блока первого рядя..
Еще пробовал с помощью свойства columns: 4; Но с ним получается что блоки разбиваются на части, а такого быть не должно.
Как-то с помощью css возможно сверстать чтобы само подстраивалось как надо? или может быть какие-то JS плагины есть для этого?
Ответы (1 шт):
Автор решения: Инквизитор
→ Ссылка
Добавьте классу .item свойство break-inside: avoid.
.menu {
columns: 4;
}
.item {
border: 1px solid #555;
break-inside: avoid;
}
<div class="menu">
<div class="item">
<a class="sub" href="#">Настойки</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
</ul>
</div>
<div class="item">
<a class="sub" href="#">Еще Настойки</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
</ul>
</div>
<div class="item">
<a class="sub" href="#">меню 1</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
</ul>
</div>
<div class="item">
<a class="sub" href="#">Беляши</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
</ul>
</div>
<div class="item">
<a class="sub" href="#">Еще что-то</a>
<ul>
<li><a href="#">Название товара</a></li>
</ul>
</div>
<div class="item">
<a class="sub" href="#">Бегемотики</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
</ul>
</div>
<div class="item">
<a class="sub" href="#">Чебуреки</a>
<ul>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
<li><a href="#">Название товара</a></li>
</ul>
</div>
</div>
