Причина, по которой нам разрешено стилизовать элемент html, заключается в том, что он является элементом DOM, как и любой другой. Все элементы DOM могут быть стилизованы под нечто, чем они не являются, как контейнер. Возьмите этот пример:
<html><body>This is my page.</body></html>
Использование CSS для ограничения ширины тела до 80%, установка границ для тела и назначение html другого цвета фона (создание эффекта «off page») будет вполне приемлемым, сохраняя семантику разметки без изменений разделить беспорядок.
Вот метод, который я обнаружил для центрирования контейнеров (по вертикали и по горизонтали) на экране без использования тонны элементов или таблиц или даже необходимости знать размер центрированного контейнера.
html {
display:table;
width:100%;
height:100%;
}
body {
display:table-cell;
vertical-align:middle;
}
body > div {
# "shrink wraps" the div so you don't have to specify a width.
# there's probably a better way to do precisely that, but this works.
display:table;
margin:0 auto; # center the div
}