CSS: новый шаг в оформлении текстов

CSS - Cascading Style Sheets (каскадные таблицы стилей). CSS реализует механизм добавления стилевого оформления к web-страницам. Основная идея, приведшая к появлению CSS - разделить сами данные и их представление (оформление). Технология CSS похожа на HTML - здесь также есть набор "команд", управляющих оформлением страницы. Но если в случае с HTML "команды" всегда идут вместе с отображаемыми данными (обычно с текстом), так сказать, в одном потоке, то CSS предписывает сперва описать внешний вид структуры документа, а в самом документе размещать только указание на соответствующий тип форматирования - на стиль.

CSS призывает оформлять исходные данные в виде блоков: в них фрагменты содержимого страницы объединяет общее назначение. Например, "навигационная панель" страницы - это такой блок, в состав которого входит несколько текстовых строк и изображений. В свою очередь, эти составляющие "навигационную панель" элементы также разделяются по блокам, входящим во внешний блок панели. При этом, свойства, определённые для внешнего блока (например, размер и цвет букв) "наследуются" внутренними блоками - то есть, описывать эти свойства заново нужно только если имеются какие-то отличия от внешнего блока. Недаром же в названии CSS присутствует слово "каскадные".

Форматирование и оформление, задаваемое CSS, должно как-то привязываться к содержимому страницы. Это делается через теги ("элементы") HTML - в них добавляются ссылки на соответствующие стили. Например, вот так: <font class="datablock">. В этом примере, "datablock" - имя стиля из CSS, которым будет оформлен текст, заключённый между <font class="datablock"> и </font> При этом, именно теги HTML обозначают начало и конец того или иного блока страницы.

Стилевые "команды" CSS могут быть внедрены прямо в HTML-страницу. Правда, это несколько противоречит идеи, лежащей в основе CSS. Поэтому хорошим тоном считается вывести стилевое описание страницы во внешний файл, размещающийся на web-сервере. В HTML-код страницы, в таком случае, ставится только ссылка на файл стилей.

Технология CSS позволяет полностью управлять отображением HTML и даже создавать дополнительные "псевдотеги" - HTML-команды, которых в стандарте HTML нет. Более того, CSS позволяет определить разные стилевые таблицы для отображения страницы на экране пользовательского компьютера и для печати этой страницы.

Конечно, как и в случае с HTML, технологию CSS не обошли "браузерные проблемы": отображется одно и то же стилевое описание страницы разными браузерами по разному. При этом, если одни браузеры строго придерживаются опубликованного стандарта CSS (например, браузер Fire Fox), то другие предпочитают допускать существенные вольности в следовании стандартам (например, самый распространённый браузер мира - MS Internet Explorer). Конечно, сверстанный сайт необходимо проверить на совместимость со всеми распространёнными браузерами и добиться того, чтобы отображение не "хромало" ни в каком из них.

Технология CSS такова, что позволяет описать отображение страниц исключительно стилевой таблицей, а использование всяческих HTML-фокусов, да и самого HTML свести к минимуму. Это идеальный расклад. Мечта web-технолога. К сожалению, в реальности такая мечта достижима далеко не всегда. Тем не менее, технология CSS предоставляет мощные средства оформления и необходима для современных динамических сайтов (там она работает в одной упряжке с JavaScript). Поэтому многие, очень привлекательно выглядящие страницы сейчас верстаются на довольно сложном по "устройству" диалекте, синтезирующем и интенсивное использование HTML, и определяющее значение CSS.

Большинство готовых комплектов оформления сайта (шаблонов или тем) для современных CMS выполнены с использованием стилевого файла CSS, целиком определяющего внешний вид страниц. Здесь технология CSS чрезвычайно важна ещё и тем, что только она позволяет эффективно привязать внутренние механизмы генерации динамических страниц CSS к "сменным" шаблонам оформления. Не было бы CSS, с внедрением "сменных" шаблонов оформления сайтов, реализованных на CMS, возникли бы трудности.