|
Типы носителя
Одним из важнейших свойств таблиц стилей
является то, что они специфицируют
представление документа на различных
носителях информации: на экране, бумаге, в
речевом синтезаторе, в брайль-устройстве и
т.п.Некоторые свойства 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 | оба | визуальный, звуковой | растровый | оба |
|