gpt4 book ai didi

html - 转换延迟似乎在 "height: auto;"上被忽略

转载 作者:行者123 更新时间:2023-11-28 09:37:07 25 4
gpt4 key购买 nike

我知道我无法将元素的高度设置为从 0auto 的动画。这对我来说很好。

当您单击标题时,下面的元素应该占据它的空间并淡入。当您再次单击时,它应该淡出然后消失。

但是:似乎忽略了 height 上的延迟。这意味着,它会立即获得高度 0 然后淡出。您可以在红色边框上非常清楚地看到这一点。

有人可以解释原因以及什么是好的解决方法吗?

HTML

<h1>Minion Ipsum</h1>
<p>[…]</p>

CSS

p {
visibility: hidden;
opacity: 0;
height: 0;
overflow: hidden;
border: 1px solid red;
-webkit-transition: opacity 0.55s linear, visibility 0 0.6s linear, height 0 0.7s linear;
-moz-transition: opacity 0.55s linear, visibility 0 0.6s linear, height 0 0.7s linear;
-ms-transition: opacity 0.55s linear, visibility 0 0.6s linear, height 0 0.7s linear;
-o-transition: opacity 0.55s linear, visibility 0 0.6s linear, height 0 0.7s linear;
transition: opacity 0.55s linear, visibility 0 0.6s linear, height 0 0.7s linear;
}

p.active {
visibility: visible;
opacity: 1;
height: auto;
-webkit-transition: opacity 0.55s cubic-bezier(0.405, 0.145, 0.505, 1);
-moz-transition: opacity 0.55s cubic-bezier(0.405, 0.145, 0.505, 1);
-ms-transition: opacity 0.55s cubic-bezier(0.405, 0.145, 0.505, 1);
-o-transition: opacity 0.55s cubic-bezier(0.405, 0.145, 0.505, 1);
transition: opacity 0.55s cubic-bezier(0.405, 0.145, 0.505, 1);
}

测试

http://jsfiddle.net/4wqoaek2/

最佳答案

那是因为你不能使用 height: auto 进行转换。当您将 fiddle 中的高度从 auto 更改为即 20px 时,您会看到过渡正常工作。 (在 OS X 上使用 Chrome 36)

解决方法是通过 javascript 确定正确的高度并将该样式应用于 p.active

关于html - 转换延迟似乎在 "height: auto;"上被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25485454/

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