Книги-online
Типы устройств
7 Типы устройств
Одним из важнейших свойств таблиц стилей является то, что они определяют
способ представления документа для различных устройств вывода: монитора, синтезатора речи, устройства печати азбуки Брайля, печатных устройств и т.д.
Некоторые свойства CSS предназначены только для конкретных устройств
(например, свойство 'cue-before' предназначено для агентов пользователей, управляющих воспроизведением звука). Однако иногда таблицы стилей, созданные для различных типов устройств, могут использовать одно и то же свойство, но при этом только требовать, чтобы оно принимало различные значения в зависимости от используемого устройства. Например, свойство 'font-size' может использоваться как при
работе с монитором, так и с печатающими устройствами. Т.к. эти два устройства отличны друг от друга, то для одного и того же свойства могут потребоваться различные значения: при отображении документа на экране обычно необходим шрифт большего размера, чем при его выводе на печатающее устройство. Практика свидетельствует, что шрифты семейства sans-serif лучше воспринимаются на экране, а шрифты семейства serifs лучше читаются на бумаге. По этой причине очень важно определять тип устройства, к которому относится таблица стилей или некоторый ее раздел.
Существует два способа построения аппаратно-зависимых таблиц стилей:
- Задать целевое устройство с помощью правил @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>Связь с конечным устройством</TITLE>
<LINK rel="stylesheet" type="text/css"
media="print, handheld" href="books-page-html-css2_rus-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 описания, находящиеся в скобках, не являются нормативными. Они только дают представление об устройстве, которое может относиться к данному типу.
all
Предназначен для всех устройств.
aural
Предназначен для речевых синтезаторов. Подробную информацию можно получить в
разделе о звуковых таблицах стилей.
braille
Предназначен для устройств чтения азбуки Брайля.
embossed
Предназначен для печати азбуки Брайля.
handheld
Предназначен для переносимых портативных устройств (небольшие монохромные экраны с ограниченной полосой частот).
print
Предназначен для страничных непрозрачных материалов и для документов, просматриваемых на экране в режиме предварительного просмотра печати. Информацию о принципах форматирования, характерных только для устройств с постраничной разбивкой, можно получить в разделе об устройствах постраничного вывода.
projection
Предназначен для настенных презентаций, например, для проекторов или для печати плакатов. Информацию о принципах форматирования, характерных только для устройств с постраничной разбивкой, можно получить в разделе об устройствах постраничного вывода.
screen
В первую очередь предназначен для цветных дисплеев.
tty
Предназначен для устройств, использующих набор символов с фиксированной шириной, например, телетайпов, терминалов или портативных устройств с ограниченными возможностями отображения. Для устройств типа "tty" не следует использовать пикселы.
tv
Предназначен для устройств типа телевизора (для которых характерны низкое разрешение, цветное изображение, ограниченная прокрутка на экране, возможность передачи звука).
Названия типов устройств не зависят от регистра.
Из-за быстрого изменения технологий в CSS2 не представлен список конкретных типов устройств, выступающих в качестве значений для правила @media.
Примечание. В будущих версиях CSS список устройств, возможно, будет дополнен. Разработчикам не стоит полагаться на названия типов устройств, которые еще не определены в описании CSS.
Определение каждого свойства CSS сопровождается перечислением типов устройств, для которых оно должно реализовываться конформным агентом пользователя. Т.к. свойства применяются обычно к нескольким устройствам, то в пункте "применяется к устройствам" определения свойства указываются не отдельные типы, а группы устройств. Свойство применяется ко всем типам устройств, принадлежащим хотя бы одной из упомянутых групп устройств.
В CSS2 имеются следующие группы устройств:
- устройства без разбивки или с постраничной разбивкой. "Оба" обозначает, что свойство применяется к обеим группам устройств.
- устройства визуального, звукового или тактильного форматирования.
- устройства с сеточным (устройства с символьной сеткой) или растровым типом вывода. "Оба" обозначает, что свойство применяется к обеим группам устройств.
- интерактивные (взаимодействующие с пользователем) или статические (не взаимодействующие с пользователем) устройства. "Оба" обозначает, что свойство применяется к обеим группам устройств.
- all(включает все типы устройств)
В следующей таблице представлены взаимоотношения между группами устройств и
типами устройств:
Взаимодействие между группами устройств и типами устройств
Типы устройств | Группы устройств
|
---|
| без разбивки/с разбивкой
| визуальные / звуковые / тактильные
| сеточные / растровые
| интерактивные / статичные
|
---|
aural | без разбивки | звуковые | N/A | оба |
braille | без разбивки | тактильные | сеточные | оба |
emboss | страничные | тактильные | сеточные | оба |
handheld | оба | визуальные | оба | оба |
print | страничные | визуальные | растровые | статичные |
projection | страничные | визуальные | растровые | статичные |
screen | без разбивки | визуальные | растровые | оба |
tty | без разбивки | визуальные | сеточные | оба |
tv | оба | визуальные, звуковые | растровые типа | оба |