Доклад: Каскадные таблицы стилей
Я знаю, что теория сама по себе, как правило, скучна, а для некоторых людей - непереносима. Но иногда она очень помогает в понимании предмета. А поэтому - немного (совсем чуть-чуть) теории.
Помните анекдот про выпускников института, которым в первый их рабочий день на производстве говорят: "А теперь забудьте все, чему Вас учили в институте и начинайте учиться работать!"? Так вот забудьте все, чему Вас учили... Все эти параметры и их значения, которые так нудно вставлять в каждый тег, если хочешь, чтобы сайт выглядел так, как ты хочешь. Забудьте, потому что все эти параметры и значения всех этих тегов можно указать один раз для всего сайта. Мало того, что это быстрее и удобнее, - вдобавок к этому все страницы сайта будут выполнены в одном стиле. Если, конечно, Вы этого хотите. Делается это при помощи таблиц стилей. Таблицы стилей, а если точнее - каскадные таблицы стилей (Cascade Style Sheets) - это один из трех компонентов DHTML - динамического HTML (Dynamic HTML). DHTML - это термин, обозначающий документы HTML, которые могут изменяться без повторной загрузки страницы. Два других компонента DHTML - это собственно HTML и языки сценариев. Технология DHTML позволяет создавать динамичные документы, которые могут изменяться при взаимодействии с пользователем, отвечать на его действия (например, движение мышки).
Таблицы стилей упрощают определение интервалов между строками текста, отступов, цветов, используемых для текста и фона, размера и стиля шрифтов и другой информации, определяющей внешний вид документа.
Как и все в нашем мире, использование таблиц стилей - медаль о двух сторонах, поэтому вопрос о целесообразности их применения вообще и способа применения в частности, Вам придется решать отдельно для каждого конкретного случая. Для облегчения принятия такого решения приведу описание некоторых функций таблиц стилей, указанных в спецификации HTML 4.0:
Гибкое размещение информации о стиле. Помещение таблиц стилей в отдельные файлы упрощает их повторное использование.
Независимость от языков таблиц стилей. Спецификация HTML 4.0 не привязывает HTML к конкретному языку таблиц стилей. Это позволяет использовать широкий диапазон таких языков. Например, простые языки для большинства пользователей и более сложные для специализированных случаев.
Каскады.
Эта возможность обеспечивается некоторыми языками таблиц стилей, в том числе и CSS, для объединения информации о стиле из нескольких источников. Это может быть, например, корпоративные положения о стиле, стили, общие для группы документов, а также стили, специфичные для одного документа. С использованием раздельного хранения эти таблицы стилей могут использоваться повторно, что упрощает работу авторов и повышает эффективность сетевого кэширования. Каскад определяет упорядоченную последовательность таблиц стилей, в которой правила более поздних таблиц имеют преимущество над более ранними. Не все языки таблиц стилей поддерживают каскады.
Зависимость от устройств.
"Чистый" HTML позволяет авторам разрабатывать документы независимо от устройств. Это позволяет пользователям обращаться к WEB-страницам с использованием различных устройств, например, графических дисплеев для компьютеров под управлением Windows, Mfcintosh OS и X11, телевизионных устройств, специальным образом адаптированных телефонов и портативных устройств на базе PDA, речевых браузеров и тактильных устройств на базе азбуки Бройля.
Таблицы стилей, напротив, применяются к конкретным устройствам или группам устройств. Таблица стилей, предназначенная для экрана, может применяться при печати, но бесполезна для речевых браузеров. Спецификация HTML 4.0 позволяет определить широкие категории устройств, к которым применяется конкретная таблица стилей. Это позволяет агентам пользователей избежать загрузки ненужных таблиц стилей. Языки таблиц стилей могут включать функции описания зависимости от устройств в одной таблице.
Альтернативные стили.
Авторы могут предлагать читателям несколько способов просмотра документа. Например, таблица стилей для представления компактных документов с мелким шрифтом, или таблица, задающая крупные шрифта для удобства чтения. Автор может указать предпочитаемую таблицу, а также альтернативные таблицы для определенных пользователей или устройств. Агенты пользователей должны предоставлять возможность выбора одной из таблиц или отключать все стили. (Добавлю, что, например, при использовании Internet Explorer 5.0 и выше, Вы можете создавать свои таблицы стилей, которые будут использоваться для просматриваемых Вами сайтов.)
Вопросы производительности.
Иногда (например, при использовании общей таблицы стилей для группы документов) использование таблиц стилей может привести к задержке общего представления материала. Эти проблемы решаются путем предоставления авторам возможности включать инструкции по представлению в каждый элемент HTML.
Это - общие положения о таблицах стилей, определенные спецификацией HTML 4.0.
В следующих статьях поговорим подробнее о способах добавления стилей, языках стилей, каскадах, и т.д. Как Вы убедитесь при более близком знакомстве с таблицами сталей - это большая и довольно сложная тема, поэтому разговор предстоит долгий :-).