Как анимировать переключение строк таблицы?

Я хочу анимировать появление и исчезновение строк таблицы.

Прежде всего я попробовал использовать CSSпереход, но это ничего не сделало из-за измененияdisplay имущество.

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

Проблема в,полная высота строки зарезервирована, когда начинается анимация, См. Фрагмент кода ниже для иллюстрации проблемы: строка 3 сдвигается вниз непосредственно перед началом анимации.

Как можно постепенно оживить высоту строки, чтобы она занимала столько места, сколько необходимо?

И в качестве бонуса:

должноне требует фиксированной высоты для строкон должен выглядеть как перевод, а не как масштабирование; это должно выглядеть такскользя от нижней части ряда над нимтак должно бытьдвунаправленный (делай наоборот, когда я это скрываю)

$('button').on('click', function() {
  $('tr:nth-child(2)').toggleClass('active');
});
@keyframes anim {
  0% {
    transform: scaleY(0);
  }
  100% {
    transform: scaleY(1);
  }
}
tr {
  background: #eee;
  border-bottom: 1px solid #ddd;
  display: none;
  transform-origin: top;
}
tr.active {
  display: table-row;
  animation: anim 0.5s ease;
}
td {
  padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<button type="button">Toggle</button>
<table>
  <tbody>
    <tr class="active">
      <td>Row 1</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr>
      <td>Row 2</td>
      <td>...</td>
      <td>...</td>
    </tr>
    <tr class="active">
      <td>Row 3</td>
      <td>...</td>
      <td>...</td>
    </tr>
  </tbody>
</table>

Ответы на вопрос(2)

Ваш ответ на вопрос