Я пытаюсь создать анимацию, наведя указатель мыши на мой div, я хочу, чтобы height увеличилось до height, которое должно быть для полного отображения его содержимого.
эффект должен быть от height(height:0px), который начинается с нуля, до total height(height:auto) содержания
это мой код:
div{
height: 0px;
transition: all 0.5s ease;
overflow: hidden;
border:1px solid red;
}
div:hover{
height:auto;
}<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat sunt tempora, cupiditate quia labore nam quas consequuntur ducimus nemo tempore dolorem beatae voluptatem unde excepturi, error eius commodi laudantium quisquam?Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloremque quo nisi, eos impedit voluptate, molestiae repudiandae ullam deserunt magnam sed aliquam eveniet id illo qui nemo vero quis officiis, veritatis.
</div>Вы можете использовать анимацию и перезапустить ее с помощью js.






div {
max-height: 0px;
transition: all 0.5s ease;
overflow: hidden;
border: 1px solid red;
}
div:hover {
max-height: 900px;
}<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Repellat sunt tempora, cupiditate quia labore nam quas consequuntur ducimus nemo tempore dolorem beatae voluptatem unde excepturi, error eius commodi laudantium quisquam?Lorem ipsum dolor sit amet,
consectetur adipisicing elit. Doloremque quo nisi, eos impedit voluptate, molestiae repudiandae ullam deserunt magnam sed aliquam eveniet id illo qui nemo vero quis officiis, veritatis.
</div>Как я могу динамически получить максимальную высоту?
или я должен указать значение, от которого я уверен, что никогда не преодолею его?
Вы не можете работать с max-height: auto;. Вы должны указать высоту, иначе она не будет увеличиваться.
@yavg Обновил мой ответ.
Для исправления для Chrome и Safari попробуйте анимировать
height: fit-content;