我多次try 向EventBody添加过渡,但仍然不起作用.

**代码如下:

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

  return (
    <div className={styles.eventContainer}>
      <div
        className={styles.eventHeader}
        onClick={() => setShowDropDown(!showDropDown)}
        role='button'
      >
        <div className={styles.eventInfo}>
          <div className={styles.eventTitle}>{event.title}</div>
          <div className={styles.eventTime}>{event.time}</div>
          <div className={styles.eventLocation}>{event.location}</div>
        </div>

        <div className={styles.chevronContainer}>
          <Icon
            name={IconName.chevron}
            iconProps={{
              className: `${styles.chevron} ${showDropDown ? styles.openedChevron : ''}`,
              alt: 'Chevron icon',
            }}
          />
        </div>
      </div>
      <div className={styles.eventBody} hidden={!showDropDown}>
        <div className={styles.line}></div>
        <AttendeeList upcoming={true} attenders={attenders}></AttendeeList>
      </div>
    </div>
  )
}

**css:

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

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

我试着在每次点击标题div后100毫秒后设置ShowDropDown,也try 在过渡中使用高度,而不是所有但都不起作用

推荐答案

您的css Select 器错误.此外,display也不是animatable property.

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

.eventBody[hidden] {
  height: 0;
}

Css相关问答推荐

在菜单中最后一项之后排除MUI分隔符

转换间隙值时基于百分比的弹性元素&跳转

容器内的中心固定元件

单独.css文件中的样式不适用于Angular 元件

如何将下拉面板放置在MAT-SELECT文本框的正下方

使用高图的背景大小渐变

如何使背景出现在具有自己背景 colored颜色 的子元素上

滚动弹性盒

当弯曲方向设置为列时如何制作等高卡片?

没有字母间距的CSS悬停边框

使 MUI 自动完成打断长词以适合布局

如何增加 PrimeFlex 网格的间隙?

before 元素的过渡效果

在 中制作等宽的列

绝对位置和溢出:隐藏

隐藏元素,但显示 CSS 生成的内容

修复 Mobile Safari (iPhone) 上文本呈现不一致且某些字体比其他字体大的字体大小问题?

位置固定宽度 100%

多个和/或嵌套的 bootstrap 容器?

我如何*真正*证明 HTML+CSS 中的水平菜单?