Поиск

Принципы разработки таблиц CSS

Принципы разработки CSS-описаний

Язык CSS2, также как и его предшественник CSS1, базируется на совокупности определенных принципов разработки описаний:

  • Совместимость уровней. Пользовательские агенты, поддерживающие CSS2, смогут воспринимать таблицы стилей CSS1. В свою очередь, пользовательские агенты, поддерживающие CSS1, смогут читать таблицы стилей CSS2, игнорируя те их части, которые не доступны их пониманию. Кроме того, пользовательские агенты, не поддерживающие CSS, смогут отображать документы с использованием доступных стилей. Очевидно, что стилистические улучшения, появляющиеся за счет использования CSS, при этом не смогут быть отображены, но все содержимое документа, однако, будет представлено.
  • Дополнение к структурированным документам. Таблицы стилей обогащают структурированные документы (например, приложения HTML и XML), предоставляя стилистическую информацию для размеченного текста. При этом модификация таблиц стилей осуществляется довольно просто и без особых последствий для разметки текста документа.
  • Независимость от поставщика, платформы и аппаратуры. Таблицы стилей позволяют документам сохранять независимость от поставщика, платформы и используемой аппаратуры. Сами таблицы стилей также не зависят от поставщика и платформы, а CSS2 позволяет определять целевую таблицу для группы устройств (например, принтеров).
  • Удобство эксплуатации. Используя в документах ссылки на таблицы стилей, вебмастеры позволяют существенно упростить обслуживание сайта, сохраняя его внешний вид относительно постоянным во времени и однообразным в пределах всего сайта. Например, для изменения цвета фона на web-странице организации необходимо модифицировать только один файл.
  • Простота. Будучи сложнее, чем CSS1, CSS2 в то же время остается простым языком для создания стилей, который доступен для человеческого восприятия. Свойства, определяемые в CSS, хранятся независимо друг от друга настолько, насколько это только возможно, и, как правило, при их использовании существует только один способ достижения определенного эффекта.
  • Производительность сети. Средства языка CSS предоставляют системы кодировки для компактного представления содержимого документа. Нередко по сравнению с графическими и звуковыми файлами, часто используемыми разработчиками для достижения определенных эффектов в презентации, таблицы стилей позволяют существенно выиграть в использовании ресурсов памяти. Кроме того, при этом необходимо меньшее число сетевых соединений, что позволяет еще больше увеличить производительность сети.
  • Гибкость. Использование CSS может осуществляться несколькими способами. Решающей при этом является возможность иерархического использования информации о стиле, описанной в основной (определяемой пользовательским агентом) таблице стиля, пользовательских таблицах стилей, присоединенных таблицах стилей, заголовке документа и в атрибутах элементов, формирующих тело документа.
  • Многообразие эффектов. Предоставляя разработчикам богатый набор эффектов, CSS увеличивает красочность Web-страницы как средства визуального отображения информации. Если дизайнеры стремились получить богатые функциональные возможности, то они и находили их в настольных издательских и слайд-шоу приложениях. Однако, некоторые из желаемых ими эффектов вступали в конфликт со свойством аппаратуры быть независимой. Теперь возможности языка CSS2 существенно продвинулись вперед, учитывая все требования дизайнеров.
  • Альтернативные средства интеграции. Совокупность свойств, определяемых в CSS и описанных в данной спецификации, формирует модель самосогласованного форматирования для вывода визуальной и звуковой информации. Доступ к данной модели форматирования осуществляется посредством языка CSS, либо, благодаря существующей возможности, посредством других языков. Например, программа JavaScript может динамически изменять значение свойства 'color' некоторого элемента.
  • Доступность. Некоторые функции CSS сделают web-страницу более доступной для тех пользователей, у которых имеются ограничения доступа:
    • Свойства, позволяющие управлять выводом шрифтов, позволяют разработчикам избегать недоступных побитовых отображений текста.
    • Свойства позиционирования позволяют разработчикам избегать разметки (например, невидимых изображений), управляющей расположением объектов.
    • Семантика правил !important позволяет пользователям, имеющим специфические требования к презентации, игнорировать таблицы стилей разработчика.
    • Новый тип значения 'inherit', которым обладают все свойства, делает более универсальным каскадное использование таблиц и позволяет упростить и сделать более последовательной настройку стиля.
    • Усовершенствованная поддержка устройств, включая поддержку групп устройств и устройств для эктипографии, рельефной печати и телетайпа, позволит пользователям и разработчикам настраивать вывод под свою аппаратуру.
    • Свойства, позволяющие управлять звуковым сигналом, предоставляют контроль за воспроизведением речи и аудио-выходным.
    • Селекторы атрибутов, функция 'attr()' и свойство 'content' предоставляют доступ к модифицируемому содержимому.
    • Счетчики и нумерация параграфов/разделов могут улучшить просмотр документа и сохранить расстояние между выпуклостями (что очень важно для эктипографических устройств). Кроме того, свойства 'word-spacing' и 'text-indent' исключают необходимость в дополнительном свободном месте.