Почему мой переход css не работает в реакции 18

Я много раз пытался добавить переход к eventBody, но он все еще не работает.

** вот код:

export function Event({ event }: EventProps) {
  const [showDropDown, setShowDropDown] = useState(false)

  return (
      <div className = {styles.eventBody} hidden = {!showDropDown}>
        <div className = {styles.line}></div>
        <AttendeeList upcoming = {true} attenders = {attenders}></AttendeeList>
     </div>
  )
}

**CSS:

.eventBody {
  transition: all 0.4s ease-out;
}

.eventBody[hidden='true'] {
  display: none;
}

я устал устанавливатьShowDropDown через 100 мс при каждом щелчке по заголовку div, а также пытался использовать высоту при переходе вместо всего, но ничего не получалось

display: none не может переходить. Вы должны решить, какой переход вы хотите, и использовать его вместо этого, например, opacity: 0 или height: 0 или любой другой эффект, который вы хотите.
Guy Incognito 12.04.2023 11:29

@GuyIncognito Я хочу использовать высоту, но когда я попытался установить высоту на 0, это тоже не сработало

Hossam 12.04.2023 11:35
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
2
2
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш селектор css неверен. Кроме того, display не является анимируемым свойством.

.eventBody {
  transition: all 0.4s ease-out;
  height: 300px;
  position: relative;
  overflow: hidden;
}

.eventBody[hidden] {
  height: 0;
}

я хочу использовать высоту, но когда я попытался установить высоту на 0, это тоже не сработало

Hossam 12.04.2023 11:34

Вы можете анимировать только фиксированную высоту, по умолчанию для высоты установлено значение auto, которое вы не можете анимировать. Однако вы можете обойти это, используя максимальную высоту, но это не идеально. Если вам нужна настоящая анимация высоты, вам нужно рассчитать высоту контейнера и переключаться между ней и 0.

Undo 12.04.2023 11:36

Большой! Если вы считаете, что этот ответ ответил на ваш вопрос, вы можете пометить его как принятый, нажав на галочку рядом с ним. Нет никаких обязательств делать это.

Undo 12.04.2023 11:45

Другие вопросы по теме