Каскадные таблицы стилей (Cascading Style Sheets, CSS) – это стандарт визуаль_ ного представления HTML_ и XML_документов. Теоретически структуру доку_ мента следует задавать путем HTML_разметки, сопротивляясь искушению приме_ нять устаревшие HTML_теги, такие как <font>, поскольку для задания стилей су_ ществуют CSS_таблицы, определяющие, как именно должны отображаться струк_ турные элементы документа. Например, CSS позволяет указать, что заголовки первого уровня, определяемые тегами <h1>, должны отображаться в верхнем реги_ стре, шрифтом sans_serif с полужирным начертанием и размером в 24 пункта, вы_ равнивание по центру.
Технология CSS ориентирована на дизайнеров, а также всех тех, кто заботится о точном визуальном отображении HTML_документов. Она интересна програм_ мистам, пишущим на клиентском языке JavaScript, т. к. объектная модель до_ кумента позволяет при помощи сценариев применять стили к отдельным эле_ ментам документа. Совместное применение технологий CSS и JavaScript обеспе_ чивает получение разнообразных визуальных эффектов, не совсем точно назы_ ваемых динамическим языком HTML (Dynamic HTML, DHTML).1
Способность манипулировать CSS_стилями в сценариях позволяет динамически изменять цвет, шрифт и прочие элементы оформления. Еще важнее, что CSS_ стили дают возможность устанавливать и изменять размер элементов и даже скрывать или показывать их. Это значит, что технология DHTML может исполь_ зоваться для создания анимированных переходов, когда, например, содержимое документа «выплывает» из_за границ экрана или структурированный список разворачивается и сворачивается, благодаря чему пользователь может управ_ лять объемом выводимой информации.
Эта глава начинается с обзора CSS. Затем рассказывается о том, как с помощью CSS_стилей задать позицию элементов документа и режим их видимости. После этого описываются приемы манипулирования CSS_стилями в сценариях. Наибо_
1 Во многих сложных DHTML_эффектах используются также приемы обработки событий, которые мы рассмотрим в главе 17.
16.1. Обзор CSS
лее типичный прием при работе со стилями заключается в изменении значения свойства style отдельных элементов документа. Реже используются приемы, ос_ нованные на косвенном изменении стилей элементов путем определения CSS_ классов, применяемых к этим элементам. Достигается это изменением значения свойства className. Существует также возможность непосредственного манипу_ лирования таблицами стилей. Заканчивается глава обсуждением механизмов включения и отключения таблиц стилей, а также получения, добавления и уда_ ления правил для таблиц стилей.