Информационный мир в любом его приближении представлен элементами и системами элементов, словами и текстами, или в последней формализованной инстанции - текстами и таблицами. Можно рассматривать и другие, уже известные, структуры данных, а также картинки, но к вопросам использования CSS и HTML в части форматирования текста остальные информационные формы имеют иное отношение.
Правильная структура страницы сайта предполагает определение положения каждого элемента. HTML-документ всегда - последовательность элементов, на отображение которой прямо влияют три основных правила:
- абсолютное позиционирование (position);
- место в общем потоке;
- z-index.
Другие варианты размещения также имеют значение, требуют больших знаний для решения задачи средствами CSS "по центру текст".
Центрируемое и правила выравнивания
Правила CSS дополняют HTML-документ, но и без правил последний может управиться с любым вариантом выравнивания. Повсеместное распространение мобильных устройств и уход дизайна в сторону большей простоты и «прямоугольности» делает вопрос центрирования актуальным, в то время как иное выравнивание часто теряет значение.
Основной элемент страницы - блок, описанный определенным стилем. Правило горизонтального выравнивания: text-align может принимать, как уже сложилось, только четыре значения (left, center, right, justify). Можно выполнить вертикальное выравнивание, комбинируя значения правил height и line-height:
{
height: 88px; // при таком соотношении
line-height: 88px; // css по центру текст - вертикально
}
Можно экспериментировать с другими правилами. В источниках встречается упоминание про интерпретацию блока правилами display: table, display: table-cell и vertical-align: middle; но не всегда это работает.
Выравнивание текста посредством таблиц
Единственная структура данных, которой суждено было быть понятой первой и жить вечно, - таблица. Здесь предусмотрено и вертикальное, и горизонтальное выравнивание, кроме того, вопрос того, как разместить текст по центру в CSS, при использовании таблиц перестает иметь сложное значение.
Сложившаяся практика использования правил CSS для достижения той или иной цели в разметке далеко не всегда удовлетворяет концепции каскадных таблиц стилей. Ничто не мешает разработчику выполнить центрирование в любом направлении, поместив контент в центральную ячейку таблицы из трех колонок и трех строк.
Данное решение не стандартно, но действенно. Вместо того чтобы долго и скрупулезно решать проблему кроссбраузерности страницы или рассчитывать отступы слева, справа и пр., можно банально воспользоваться процентными значениями ширин ячеек и высот рядов в таблицах.
Выравнивание посредством JavaScript
Вопрос "Как разместить текст по центру в HTML" элементарно решается алгоритмом на языке браузера и имеет гораздо более практичное и эффектное исполнение.
Проектирование файлов стилей уже вышло на поток, и практически каждая уважающая себя система управления сайтами предлагает разработчиком наборы стилей на все случаи жизни. Но жизнь требует всегда конкретики: приходится каждый раз с чистого листа думать, как же это средствами CSS по центру текст разместить. Вариант для целей выравнивания в блоке, "приклеенном" к стороне страницы, а потому меняющем размер, вряд ли подойдет блоку всплывающего меню, которое построено из различных элементов.
Видимое центрирование - это не всегда просто блок, в котором изначально известно, где левая сторона и сколько пикселей до правой, где верх, и не гарантия, что низ - это та граница, относительно которой надлежит выполнить вертикальное выравнивание.
Складывается тенденция, что стиль должен определяться контентом. В большей степени сайты несут посетителю информацию, визуальное и звуковое сопровождение - лишь дополнение к обычному тексту. Именно символы несут нужный контент (это не касается сайтов по искусству, картинам, музыке и т.д.) - идет речь о необходимой посетителю информации.
Особенности представления текста и HTML
Сложилось так, что неделимый элемент контента страницы - текст, а не слово. Семантика - это компетенция разработчика (владельца сайта). Собственно текст может быть представлен не одним тегом, то есть естественное предложение может представлять собой не просто последовательность символов, а последовательность тегов, содержащих символы. Из этого вытекает, что "сама" CSS "по центру текст" может разместить только в простых случаях.
Выдача сервера по запросу браузера очень объемна и содержит множество элементов, далеко не всегда относящихся к тому, что будет отображено. При проектировании разметки страницы важно правильно разместить акценты в части представления информации, в частности, выравнивания. Что-то лучше делать на сервере, что-то на клиенте, то есть в браузере. Не всегда следует рассчитывать на правила CSS, ориентация на конечный результат гораздо практичнее.