Эволюция схем позиционирования была примерно такой Вначале был просто поток. Потом в нем появились вкрапления по типу инлайн-блоков, флоатов, инлан-таблиц и так далее. Управление потоком неразрывно связано с позиционированием. Если вы переставляете ноду куда-то в другое место по дереву, это может отражаться на множестве ее характеристик, например она станет визульно меньше по размеру, так как слева стоит float, который нужно обтекать. Переставление ячейки таблицы меняет ее положение. И так далее. Потом появились "проблемы", и разработчики стандартов понемногу начали склоняться к статическому представлению контента на странице. Вот есть блок, он вот тут гвоздиком прибит и это хорошо. Сейчас все больше появляется мест в стандарте, когда физическое местоположение ноды в дереве DOM перестает влиять на отображение. И если для управления местоположением элемента в дом-дереве есть куча методов, то для аналогичного управления, динамически через CSS, потребуется работать с ужасным интерфейсом - style. Логично предположить, что наиболее выгодным для разработчика будет тот метод позиционирования, который позволяет комбинировать силу DOM-методов и потоковое управление контентом. Добавляем сюда требования к адаптивности, ведь мы не хотим создавать множество медиакверей для разных устройств, потому что это банально дорого. Кто работал с графическими редакторами, тот знает, что там используются направляющие (guidelines), которые помогают в выравнивании контента. И есть такой эффект как прилипание к направляющей, когда край какого-то объекта подносится близко к линии. Берем аналогичное поведение для страницы. Мы разлиновываем контейнеры направляющими и рассказываем блокам, как они должны прилипать к определенным линиям. Если размеры не позволяют прилипнуть, мы можем перескочить к следующей направляющей. Прилипать можно по разному количеству сторон. Если разлиновать некий бокс вертикальными и горизонтальными направляющими, а потом заставить ячейки прилипнуть ко всем 4-м сторонам, то получим таблицу. Если взять только один элемент и прикрепить его к какой-то одной стороне, то получится флоат. Гриды и флексбоксы делаются путем аналогичного прилипания. Лайнбоксы ни что иное как гайдлайны для инлайн-контента. Выравнивание текста = прилипание к определенному гайдлайну (центрирование тоже можно сделать путем прилипания разных точек, т.е. бокс описывается не 4-мя а 8-ю точками) Только что я описал базовый механизм позиционирования почти всего в CSS