Существует несколько способов исправить это. Я бы использовал flexbox. Добавьте d-flex flex-column
к каждому из col
делений.
Это происходит потому, что iframe
и img
по умолчанию display: inline
- это означает, что они будут располагаться рядом, если есть достаточно места , В ваших дисплеях с 3 и 1 столбцами недостаточно места для размещения img
над iframe
, но при отображении с 2 столбцами в 3-м столбце достаточно места для их отображения рядом.
Вы увидите это еще лучше, если вы измените container
на container-fluid
и сделаете ваш экран ДЕЙСТВИТЕЛЬНО широким (например, сделайте его шире, чем экран вашего компьютера).