Просто чтобы дать другую сторону медали, я довольно часто использовал эту настройку и нашел ее полезной. Основным преимуществом является простота использования свойств позиционирования (сверху, слева, справа, снизу) без необходимости все время определять относительное позиционирование для родителя.
Это правда, что этот параметр сделает невозможным использование абсолютного позиционирования по отношению к чему-либо другому, кроме родительского права выше, но я считаю, что это хорошая вещь. Так как первый родительский элемент с позицией «относительный» является визуально де-факто родителем любого дочернего элемента с «позицией: абсолютный», логично сделать так, чтобы они были прямыми дочерними элементами и в иерархии HTML.
Короче говоря * {position:relative}
заключает соглашение, упрощающее рассуждение о том, как работает позиционирование.
Предостережение 1 : Событие, если новое соглашение упрощает работу для новичков, отличается от того, что используют опытные CSS-разработчики. Приготовьтесь к противостоянию, если вы начнете использовать это в большом проекте со многими разработчиками внешнего интерфейса.
Предупреждение 2 : проблема производительности должна быть проверена должным образом. Я пытался включать и выключать этот параметр на некоторых крупных сайтах, не замечая никакой разницы, но реальных тестов с действительными числами не существует (насколько мне известно).
Последнее замечание: первая строка во втором абзаце не совсем верна. Вы всегда можете перезаписать определения подстановочными знаками, установив position: static
некоторый узел среднего уровня, если вам действительно нужно.