Альтернативные таблицы стилей

Существует возможность определения альтернативных таблиц стилей (alternate style sheets). Для этого атрибуту rel присваивается значение alternate stylesheet, и тогда таблицы стилей задействуются в представлении документа только в том случае, если их выбирает пользователь. Для организации работы с альтернативными таблицами стилей броузер возьмет значения атрибутов title элементов link и создаст из них список альтернативных стилей. Так что вы можете написать следующее:

href="sheet1.css" title="По умолчанию" />
href="bigtext.css" title="Крупный текст" />
href="zany.css" title="Сумасшедшие цвета!" />

В результате пользователи могут выбирать стили, и броузер переключится с первого (в данном случае помечен словами «По умолчанию») на любой другой выбранный пользователем стиль. Альтернативные таблицы стилей поддерживаются большинством броузеров, созданных компанией Netscape Communications, такими как Mozilla и Netscape 6+, и в Opera 7. Броузеры Internet Explorer не поддерживают альтернативные таблицы стилей, но в них того же эффекта можно достичь с помощью JavaScript.


Альтернативные таблицы стилей можно группировать, присваивая их атрибуту title одинаковые значения. Благодаря этому пользователь может выбирать разные представления сайта, как на экране, так и при печати. Например:

href="sheet1.css" title="По умолчанию" media="screen" />
href="printsheet1.css" title="По умолчанию" media="print" />
href="bigtext.css" title="Крупный текст" media="screen" />
href="printbigtext.css" title="Крупный текст" media="print" />

Если в соответствующем агенте пользователя из списка альтернативных таблиц стилей выбран вариант «Крупный текст», то стиль документа при отображении на экране будет формироваться по таблице bigtext.css, а при выводе на печать – по print-bigtext.css. Ни в одном из устройств не будут использованы ни sheet1.css, ни print%sheet1.css. Почему? Потому что если в теге link с атрибутом rel, имеющим значение stylesheet, указан заголовок, данная таблица стилей помечается как предпочтительная таблица стилей (preferred style sheet).




Это значит, что из всех альтернативных таблиц стилей ее применение предпочтительнее, и именно она будет использоваться при первом выводе документа на экран. Однако если выбрать альтернативную таблицу стилей, предпочтительная таблица использоваться не будет. Более того, если обозначить как предпочтительные несколько таблиц стилей, все они, кроме одной, будут проигнорированы. Рассмотрим:

href="sheet1.css" title="Раскладка по умолчанию" />
href="sheet2.css" title="Шрифт по умолчанию" />
href="sheet3.css" title="Цвета по умолчанию" />

Все три элемента link теперь обозначены как предпочтительные таблицы стилей, благодаря наличию во всех трех атрибута title, но на самом деле только один из них выступает в этом качестве. Остальные два будут полностью проигнорированы. Какие именно из них? Точно ответить на этот вопрос невозможно, поскольку ни HTML, ни XHTML не предоставляют метода, позволяющего определить, какая из предпочтительных таблиц стилей должна быть проигнорирована, а какая нет.

Если просто не указать заголовок таблицы стилей, то она становится постоянной таблицей стилей (persistent style sheet) и всегда используется в представлении документа. Зачастую именно этого и хочет автор.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
Атрибуты
Богатство стилей
Веб спускается с Олимпа
Действительные правила стилей
Директива @import

Вернуться в раздел: CSS / 1. CSS и документы