Установить равную высоту двух независимых компонентов angularjs

У меня есть два компонента angularjs, отображающие различный контент, размещенный вертикально на странице - компоненты angularjs

Мне нужно установить высоту обоих компонентов, чтобы быть равными. Итак, мне нужно увеличить высоту компонентов B, чтобы она была равна высоте компонента A, если высота компонента A больше, чем высота компонента B на основе содержимого, которое отображает компонент A. Кроме того, всякий раз, когда увеличивается содержание / высота любого компонента, мне снова нужно заново регулировать высоту другого компонента.

Я пытался получить высоту компонентов в ng-init, используя heightOffset, но последовательно получал значение 0. Я также посмотрел ResizeObserver, но в настоящее время поддержка браузера ограничена.

Есть ли другой способ добиться требуемого поведения?

1 ответ

Решение

Это может быть решено чисто с помощью CSS. Вы можете использовать flex-box с align-items: stretch;, Смотрите здесь для получения дополнительной информации.

#container {
  display: flex;
  align-items: stretch;
}

#left {
  display: flex;
  flex-grow: 1;
  border: 1px solid #999;
  min-height: 10px;
}

#right {
  display: flex;
  flex-grow: 1;
  border: 1px solid #999;
  min-height: 10px;
}
<div id="container">
  <div id="left"></div>
  <div id="right"></div>
</div>

<br>

<button onclick="document.getElementById('left').innerHTML += 'New line<br>'">Add new line to left</button>
<button onclick="document.getElementById('right').innerHTML += 'New line<br>'">Add new line to right</button>

Другие вопросы по тегам