andead
@andead
друпал девелопер, фрилансер

Меню из нескольких колонок с группировкой пунктов?

Есть меню из четырёх пунктов:

<div class="menu">
  <div class="menu__item menu__item-1">
    1111111<br />
    1111111<br />
    1111111<br />
  </div>
  <div class="menu__item menu__item-2">
    22<br />
    22<br />
  </div>
  <div class="menu__item menu__item-3">
    3333<br />
    3333<br />
  </div>
  <div class="menu__item menu__item-4">
    444444444444444<br />
  </div>
</div>


Надо второй и третий пункт вывести в одной колонке:

5e453c5c7f75f468665862.png

Код - https://jsfiddle.net/xandeadx/61uLmog7/24/

Условия:
* Каждый пункт неизвестной ширины и высоты
* Количество колонок известно заранее, но не обязательно 3
* Сколько будет пунктов в одной колонке известно заранее, но не обязательно 2
* Дополнительные элементы в html добавлять нельзя

Что пробовал:
* grid-template-areas, но если указать разным элементам один area, то они просто накладываются друг на друга
* columns:3, но все колонки будут одинаковой ширины
  • Вопрос задан
  • 119 просмотров
Пригласить эксперта
Ответы на вопрос 2
rockfeeler
@rockfeeler
Фронтендер, дизайнер, верстальщик-перфекционист
Теоретически, возможно, я думаю. Вроде того, но придется менять настройки ручками для каждого случая...



.menu {
	display: grid;
	grid-template-columns: repeat(3, auto);
	grid-gap: 10px;
}

.menu__item {}

.menu__item-1 {
	order: 1;
}

.menu__item-2 {
	order: 2;
}

.menu__item-3 {
	order: 4;
	grid-column-start: 2;
}

.menu__item-4 {
	order: 3;
}


И минусовым марджином прижимать трёшки вверх. )

Ответ написан
Aetae
@Aetae
Тлен
Firefox-only решение:

Chrome-only решение:

:)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы