text.style.maxHeight = (text.style.maxHeight === '300px') ? 'unset' : '300px';
.text {
font-weight: 500;
margin-bottom: 0.5em;
font-size: 14px;
max-height: 300px;
overflow: hidden;
}
max-height: 300px
, а при нажатии на кнопку установить большое число максимальной высоты, например max-height: 1200px
. Анимировать через transition. Это самый простой вариант.элемент -> максимальная его высота
), например - Map
и заполнять данный массив при загрузке страницы. Максимальную высоту, естественно, высчитывать. При изменении размеров окна пересчитывать максимальную высоту. При нажатии на элемент, брать его максимальную высоту и запоминать его текущую высоту. Менять текущую высоту на максимальную. При повторном нажатии вернуть сохраненную высоту.