gpt4 book ai didi

html - 仅以一种方式滞后过渡

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:15 25 4
gpt4 key购买 nike

我创建了一个简单、纯 CSS 的下拉菜单。我面临着一个奇怪的滞后问题。当菜单向下滚动时,过渡是平滑的,但在相反的方向上,在动画开始之前会有大约 1 秒的延迟。

HTML:

<input type="checkbox" id="switch" name="switch">
<label for="switch" id="switch-button">Click me!</label>

<div id="txt">
<p>Menu element 1</p>
<p>Menu element 2</p>
<p>Menu element 3</p>
<p>Menu element 4</p>
</div>

CSS:

#switch        { display: none; }
#switch-button { display: block; }
#txt { max-height: 400px; }

#switch ~ #txt {
transition: 1s max-height 0s;
}
#switch:not(:checked) ~ #txt {
max-height: 0px;
overflow: hidden;
}
#switch:checked ~ #txt {
max-height: 400px;
}

https://jsfiddle.net/s1237n9h/8/

问题发生在:Chrome、Firefox、Android 浏览器、Edge。

最佳答案

延迟是因为您正在从 max-height: 400px 转换至 max-height: 0但是你的容器只有 72px在高度。

因此您无法从400px 观察到动画至 72px , 但仅在 max-height 之后在实际 height 下方进行动画处理你的元素。如果匹配height元素和 max-height您将观察到完整的过渡,没有任何视觉延迟。

关于html - 仅以一种方式滞后过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41791072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com