This question originated from a message on Nuggets. A friend asked, why is the height transition animation of the following code invalid? The pseudo code is probably like this: { height: unset; transition: all 0.3s linear; will-change: height; &.up { height: 0; } &.down { height: unset; } } If we restore it to an actual demo, the effect is probably like this (the essential idea is to switch uh-huh? It's very strange. I clearly set The effect we expect is as follows: Transition does not support height: auto When the above code is set to Looking at the specification, the reason is that CSS transition does not support changes in the element's height to auto. If you replace the above { &.up { height: 0; } &.down { - height: unset; + height: 500px; } } However, we also hope to achieve dynamic height transition. Is there no other way? Cleverly use max-height to adapt to dynamic height Hey, here is a very interesting little trick. Since Let's modify the above code, replace { max-height: 0; transition: max-height 0.3s linear; &.up { max-height: 0; } &.down { max-height: 1000px; } } Let's estimate the maximum height of the actual container. Since CodePen Demo -- the height property transition unwork Minor flawsThe overall effect is still very nice, of course, there may be two small flaws,
Because the original expansion animation was expected to stretch the height of the container to 1000px in 1 second, but it actually stopped at 200px, so the animation time was only 0.2 seconds. To sum up, the method is a good one, but specific analysis is required when it is used. This is the end of this article about the implementation of CSS dynamic height transition animation effect. For more related CSS height transition animation content, please search 123WORDPRESS.COM’s previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! |
<<: Using trap to perform environment cleanup before graceful shutdown of docker container
>>: HTML implements a fixed floating semi-transparent search box on mobile
1. If MySQL is not started successfully, check th...
<br />Years of professional art design educa...
Part.0 Background The company's intranet serv...
This article shares a collection of Java problems...
Installation introduction under Windows: Check ou...
at at + time at 17:23 at> touch /mnt/file{1..9...
Table of contents 1. Problem 2. Solution Option 1...
I typed a wrong mysql command and want to cancel ...
Effect (source code at the end): accomplish: 1. D...
Today I will introduce to you a difference betwee...
Table of contents Function call optimization Func...
When a thread executes a DELAYED statement for a ...
1. Background Recently, some friends encountered ...
As a backend programmer, sometimes I have to tink...
The project has been suspended recently, and the ...