7 Типы носителя
Одним из важнейших свойств таблиц стилей является то, что они специфицируют представление документа на различных носителях информации: на экране, бумаге, в речевом синтезаторе, в брайль-устройстве и т.п.
Некоторые свойства CSS созданы для конкретных носителей (например, свойство 'cue-before' - для звуковых пользовательских агентов (ПА)). Иногда, однако, таблицы стилей для различных носителей могут использовать одно и то же свойство, но при этом требуют для него различных значений. Например, свойство 'font-size' используется и для экрана, и для носителя печати. Однако эти два носителя достаточно различны, чтобы требовать различных значений для общего свойства; документ обычно требует для экрана более крупный шрифт, чем для печати. Опыт показывает также, что шрифты sans-serif лучше читаются на экране, а шрифты с засечками (serif) лучше читаются на бумаге. Исходя из этих соображений, необходимо указывать, что таблица стилей - или раздел таблицы стилей - применяется к носителю определённого типа.
В настоящее время есть два способа специфицировать зависимость от типа носителя в таблицах стилей:
- Специфицировать целевой носитель из таблицы стилей с помощью at-правил @media или @import.
Пример(ы):
@import url("loudvoice.css") aural;
@media print {
/* здесь идёт таблица стилей для печати */
}
- Специфицировать целевой носитель в языке документа. Например, в HTML 4.0 ([HTML40]) атрибут "media" элемента LINK специфицирует целевой носитель для внешней таблицы стилей:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>Link to a target medium</TITLE>
<LINK rel="stylesheet" type="text/css"
media="print, handheld" href="foo.css">
</HEAD>
<BODY>
<P>Тело документа...
</BODY>
</HTML>
Правило @import определено в главе о каскадах.
Правило @media специфицирует целевые типы носителя (разделённые запятыми) в наборе правил (ограниченных фигурными скобками). Конструкция @media допускает присутствие правил таблиц стилей для различных носителей в одной таблице стилей:
@media print {
BODY { font-size: 10pt }
}
@media screen {
BODY { font-size: 12pt }
}
@media screen, print {
BODY { line-height: 1.2 }
}
Тип носителя CSS именует набор свойств CSS. ПА, заявляющий о поддержке типа носителя по имени, обязан поддерживать все свойства, применимые к данному типу носителя.
Имена для типов носителя в CSS отражают целевое устройство, на которое соответствующие свойства оказывают действие. В следующем списке типов носителя CSS описания в скобках не являются нормативными. Они лишь дают представление о том, к каким устройствам относится данный тип носителя.
- все
- Для всех устройств.
- звуковой
-
Предполагается для использования в речевых синтезаторах. См. детали в разделе звуковые таблицы стилей.
- брайль-устройство
- Для брайль-устройств.
- брайль-принтер
- Для страничных брайль-принтеров.
- портативный
- Для портативных устройств (обычно с маленьким экраном, монохромных, с ограниченной пропускной способностью).
- печатный
-
Предполагается для страничных непрозрачных материалов и для документов, просматриваемых на экране в режиме предварительного просмотра для печати. Информацию о вопросах форматирования, специфичных для страничных носителей, см. в разделе Страничные носители.
- проектор
-
Предполагается для проецируемых презентаций, например, проекторов или печати на прозрачные носители. Информацию о вопросах форматирования, специфичных для страничных носителей, см. в разделе Страничные носители.
- экран
- Прежде всего - для компьютерного цветного экрана.
- tty
-
Для носителей, использующих решётку символов фиксированного размера, таких как телетайп, терминал или портативные устройства с ограниченными возможностями дисплея. Авторы не должны использовать пикселы с типом носителя "tty".
- tv
- Для устройств типа телевизора (низкое разрешение, цвет, ограниченная возможность прокрутки экрана, звуковые возможности).
Названия типов носителя нечувствительны к регистру.
Из-за быстрых изменений технологий, CSS2 не специфицирует определительный список типов носителя, которые могут быть значениями для @media.
Примечание. Будущие версии CSS могут расширить этот список. Авторы не должны ссылаться на названия типов носителя, ещё не определённых в спецификации CSS.
Каждое определение свойства CSS специфицирует типы носителя, для которых свойство обязано выполняться на соответствующих ПА. Поскольку свойства обычно применяются для различных носителей, раздел "Применяется: " каждого определения свойства перечисляет группы носителей, а не отдельные типы носителей. Каждое свойство применяется ко всем типам носителя группы, указанной в определении свойства.
CSS2 определяет следующие группы носителей:
- непрерывные или страничные. "Оба" означает, что свойство применяется к обеим группам носителей.
- визуальные, звуковые или осязательные.
- решётка (для устройств с решётками символов) или растровые. "Оба" означает, что свойство применяется к обеим группам носителей.
- интерактивные (для устройств, взаимодействующих с пользователем или статичные (для не взаимодействующих). "Оба" означает, что свойство применяется к носителям обеих групп.
- все (включает все типы носителей).
В следующей таблице показаны соотношения между группами носителей и типами носителя:
Соотношения между группами носителя и типами носителя
Типы носителя
|
Группы носителей |
непрерывный/
страничный |
визуальный/звуковой/
осязательный |
решётка/
растровый |
интерактивный/
статичный |
звуковой |
непрерывный |
звуковой |
N/A |
оба |
брайль-устройство |
непрерывный |
осязательный |
решётка |
оба |
брайль-принтер |
страничный |
осязательный |
решётка |
оба |
портативный |
оба |
визуальный |
оба |
оба |
печатный |
страничный |
визуальный |
растровый |
статичный |
проектор |
страничный |
визуальный |
растровый |
статичный |
экран |
непрерывный |
визуальный |
растровый |
оба |
tty |
непрерывный |
визуальный |
решётка |
оба |
tv |
оба |
визуальный, звуковой |
растровый |
оба |
|