TGViewer
Вёрстка сайтов | HTML, CSS, JS Вёрстка сайтов | HTML, CSS, JS @free_html_lessons · 4.5K subscribers
Post #2699 724
Анимация `height: auto` без JS через `display: grid`

Ограничение CSS: height: auto не анимируется.
Поэтому при создании аккордеонов, FAQ или раскрывающихся блоков часто используют:

• max-height с большим значением
• вычисление scrollHeight через JS
• transform: scaleY

Есть более аккуратный способ — через display: grid.

Идея в том, что grid-template-rows можно анимировать.

Пример:
HTML:
<button class="btn">Открыть</button>
<div class="wrapper">
<div class="content">
Контент любой высоты
</div>
</div>


CSS:
.wrapper {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 0.3s ease;
}
.wrapper.open {
grid-template-rows: 1fr;
}
.content {
overflow: hidden;
}


JS:
document.querySelector('.btn').onclick = () => {
document.querySelector('.wrapper').classList.toggle('open')
}


Как это работает:
0fr — строка не занимает пространство
1fr — строка занимает доступное пространство

Grid перераспределяет высоту строки, и это изменение можно плавно анимировать.

Преимущества:
• не нужно вычислять высоту
• нет искусственных ограничений по max-height
• корректно работает с динамическим контентом
• минимальный JS

Подходит для:
• аккордеонов
• раскрывающихся карточек
• меню
• блоков с дополнительной информацией

#практика
  • ❤ 4
  • 👍 1
More from @free_html_lessons
  1. Sep 30, 2026Post #3068
  2. Sep 30, 2026Post #3067
  3. Sep 29, 2026Задача: Быстрая пятёрка Брайан, Миа, Хан, Жизель и Доминик участвуют в уличной гонке. Прав…
  4. Sep 28, 2026Применение редких html атрибутов на практике. 1 часть Читать 👨‍💻 #полезнаястатья
  5. Sep 27, 2026Подборка лучших постов за прошлую неделю Лучшие статьи @free_html_lessons: 1. Функции в Ty…
  6. Sep 26, 2026Задача: Шифр подстановки Современные методы шифрования надёжно защищают наши коммуникации…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →