@kiwi521

Как сделать такое подменю с динамической шириной?

Нужно сделать подменю высотой 100vh и шириной в количество колонок. Если элементы не помещаются в 1 колонку, добавляется 2-я и подменю становится шириной в 2 колонки, если их еще больше то добавляется 3я итд. Помогите пожалуйста разобраться как это можно реализовать ?
Вот что у меня на данный момент получилось, не могу понять как сделать ширину:
  • Вопрос задан
  • 126 просмотров
Решения вопроса 1
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
Например, вот так: https://jsfiddle.net/fsnm8jay/

Но мне не нравится ваша затея с центрированием подменю по вертикали.
Возможно, симпатичнее был бы вариант с columns и тогда уже с центрированием по вертикали.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sfrancisco
@sfrancisco
Добавить классу submenu -> display: flex ?
Ответ написан
@Angelina335
попробуй так
.menu {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 200px;
  background-color: lightblue;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  &__el {
    &:hover {
      > .submenu {
        visibility: visible;
        opacity: 1;
      }
    }
  }
  &__link {
    display: block;
    padding: 15px;
  }
}
.submenu {
  position: fixed;
  /* width: 500px; */
  top: 0;
  bottom: 0;
  left: 200px;
  background: lightgreen;
  justify-content: center;
  width: auto;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
 transition: .3s ease;
 display: flex;
 /* flex-direction: column; */
 flex-wrap: wrap;
  &__el {
    display: flex;
    flex-direction: column;
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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