WedX - журнал о программировании и компьютерных науках

Как сделать контейнер flex-box плавным изменением размера, когда элементы не отображаются?

Я хочу создать переход для автоматической высоты в контейнере flex-box. У меня есть панель пользователя с именем, точками, статусом и предупреждением.

Предупреждающее сообщение иногда отображается иногда нет. Он использует display: none. Я пытаюсь добиться плавного изменения размера контейнера flex-box с переходом, когда я нажимаю на предупреждающее сообщение.

Вот базовый пример (не работает)

const $user_alert = document.querySelector('user-alert')

$user_alert.onclick = () => {
    $user_alert.classList.add('hide')
  setTimeout(() => $user_alert.classList.remove('hide'), 1e3)
}
body {
  display: flex;
  width: 100vw;
  height: 100vh;
  margin: 0;
  background-color: aliceblue;
}

user-bar {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: all 2s ease-in-out;
}

user-alert {
  cursor: pointer;
  color: red;
}

.hide {
  display: none;
}
<user-bar>
  <user-name>Albert Einstein</user-name>
  <user-points>10000</user-points>
  <user-status>on</user-status>
  <user-alert>Time to Party Hard</user-alert>
</user-bar>

Я не могу понять, как создать простой переход без определения высоты для каждого элемента внутри пользовательской панели... возможно, это невозможно с помощью display: none.

Любая помощь или идея будут очень признательны!


  • Отвечает ли это на ваш вопрос? Переход непрозрачности CSS с отображением: нет 11.01.2021
  • В анимации не будет необходимости, просто замените класс display: none; или .hide на `visibility: hidden;`. Это может помочь: codepen.io/manaskhandelwal1/pen/zYKJbPq 12.01.2021
  • Манас, это альтернатива, спасибо. Я хотел бы избежать сохранения пространства сообщения предупреждения пользователя. 12.01.2021
  • disinfor, этот ответ фокусируется на элементе, который имеет display: none, спасибо, но я хотел бы плавно изменять размер контейнера, независимо от переходов его элементов или, возможно, не может двигаться независимо. 12.01.2021

Ответы:


1
  1. Изменить dispaly: none на transform: scale(0)
  2. В дополнение к display: flex добавьте transform: scale(1) Дайте нам знать, если это сработало!
12.01.2021
  • Большое спасибо, отличный ответ, но я не могу изменить display: none в этом компоненте. 14.01.2021
  • Голосуйте за отличный ответ :) 14.01.2021
  • с этим проблем нет, но не могли бы вы мне помочь? сохраняя display: none 14.01.2021
  • У вас не может быть перехода на логическое свойство. См. здесь stackoverflow.com/questions/3331353/ 14.01.2021
  • Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]