Для такой раскладки лучше всего подходят гриды
https://jsfiddle.net/e780f9md/
Флексы плохи тем, что придется задавать высоту контейнеру, а в верстке так лучше не поступать. Потому что, обычно, мы не знаем сколько будет контента в этих блоках, а также какую высоту займет блок, если его ширина будет уменьшаться или увеличиваться при адаптиве.
P.S.
<meta http-equiv="Content-Type" content="text/html; charset="UTF-8">
Это устаревшая запись, сейчас используется короткая:
<meta charset="UTF-8">
<style type="text/css">
- аналогично. Сейчас не нужно указание типа для тега style.
Если вы смотрели курсы, в которых показывали такой код, то они устарели по крайней мере лет на 5, а то и больше.