Не без использования JS ... измените свой CSS на:
.growRow {
overflow: hidden;
height: 100px; /* or wathever the start height should be */
transition: height 1s ease-in-out;
}
.growRow.open {
height: auto;
}
.no-transition {
transition: none !important;
}
Затем (с использованием jQuery) в Vanilla JS:
$(function () {
$('.growRow').on('click', function () {
var $growRow = $(this);
$growRow.addClass('no-transition').addClass('open');
var newHeight = $growRow.height();
$growRow.removeClass('open').removeClass('no-transition');
setTimeout(function ($growRow, newHeight) {
$growRow.once('transitionend', function () {
$(this).css('height', '');
}).css('height', newHeight + 'px');
}, 0, $growRow, newHeight);
});
});
Не проверял, хотя ... Дайте мне знать, если это работает!