【问题标题】:How can I apply overflow: unset; after a CSS transition?如何应用溢出:未设置; CSS过渡后?
【发布时间】:2022-01-09 02:42:03
【问题描述】:
  #slide-buttons.horizontal {
      max-width: 0;
      transition:max-width 0.9s ease-out;
      overflow: hidden;
  }
  #slide-buttons.horizontal.slide-in {
      max-width: 1000px;
      /*overflow: unset;*/
  }

我正在尝试使用上述样式制作滑入式菜单。我想从隐藏溢出的最大宽度为零开始,然后过渡到最大宽度为 1000px 并取消设置溢出以模拟菜单“滑入”(或从无到有扩展)。我遇到的问题是溢出属性不是过渡属性,所以我不能在我想使用的两个溢出值之间使用过渡延迟。有谁知道我如何应用溢出:未设置属性我的最大宽度转换完成后?

【问题讨论】:

    标签: css css-transitions


    【解决方案1】:

    鉴于您的课程结构,您可能正在使用 JS 来制作菜单。在这种情况下,您将在启动菜单动画后从您的 JS 添加控制溢出的类,延迟动画所花费的时间(使用setTimeout())。

    另外,请注意unset 不是overflow 的有效值。您可能想要 initial 或者明确设置 auto 或类似的东西。

    【讨论】:

    • 是的,我意识到这也是一种选择,但我希望有一个纯 CSS 解决方案。
    • 我不这么认为。正如您所说,overflow 不能是转换属性(鉴于溢出是打开或关闭,而不是两者的混合,这是有道理的!)所以你不能添加 transition-delay 到它.烦人但是?‍♂
    猜你喜欢
    • 1970-01-01
    • 2015-03-10
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 2014-12-02
    • 2015-01-12
    相关资源
    最近更新 更多