Часто я привязываю класс к элементу только для того, чтобы дать ему position: relative;
, чтобы я мог позиционировать его дочерние элементы, используя position: absolute;
Будет ли что-нибудь не так или, лучше сказать, сломается ли что-нибудь, если я напишу:
* {
position: relative;
}
или, возможно, приведенный ниже пример, поскольку обычно это единственные элементы, для которых мне требуется относительное позиционирование:
div, navbar, footer, section, aside, header, article {
position: relative;
}
Согласно W3schools, все элементы по умолчанию имеют position: static;
, что соответствует нормальному расположению страницы.
«Элементы HTML по умолчанию позиционируются статично. Элемент со статическим позиционированием всегда позиционируется в соответствии с обычным потоком страницы».
и, согласно тому же источнику, относительно расположенные элементы также располагаются в соответствии с обычным потоком страницы, если только они не переопределены с помощью CSS:
«Содержимое относительно расположенных элементов может быть перемещено и перекрывать другие элементы, но зарезервированное пространство для элемента все еще сохраняется в обычном потоке».
* {position: relative;}
, чтобы сэкономить время/сделать код менее тяжелым. - person Jon Kyte   schedule 11.04.2014