Содержание
7.1 Введение
Некоторые свойства CSS созданы для конкретных носителей (например, свойство 'cue-before' - для звуковых пользовательских агентов (ПА)). Иногда, однако, таблицы стилей для различных носителей могут использовать одно и то же свойство, но при этом требуют для него различных значений. Например, свойство 'font-size' используется и для экрана, и для носителя печати. Однако эти два носителя достаточно различны, чтобы требовать различных значений для общего свойства; документ обычно требует для экрана более крупный шрифт, чем для печати. Опыт показывает также, что шрифты sans-serif лучше читаются на экране, а шрифты с засечками (serif) лучше читаются на бумаге. Исходя из этих соображений, необходимо указывать, что таблица стилей - или раздел таблицы стилей - применяется к носителю определённого типа.
7.2 Спецификация таблиц стилей, зависимых от типа носителя
В настоящее время есть два способа специфицировать зависимость от типа носителя в таблицах стилей:
Пример(ы):
@import url("loudvoice.css") aural; @media print{/* здесь идёт таблица стилей для печати */}
<!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 описания в скобках не являются нормативными. Они лишь дают представление о том, к каким устройствам относится данный тип носителя.
Названия типов носителя нечувствительны к регистру.
Из-за быстрых изменений технологий, CSS2 не специфицирует определительный список типов носителя, которые могут быть значениями для @media.
Примечание. Будущие версии CSS могут расширить этот список. Авторы не должны ссылаться на названия типов носителя, ещё не определённых в спецификации CSS.
Каждое определение свойства CSS специфицирует типы носителя, для которых свойство обязано выполняться на соответствующих ПА. Поскольку свойства обычно применяются для различных носителей, раздел "Применяется: " каждого определения свойства перечисляет группы носителей, а не отдельные типы носителей. Каждое свойство применяется ко всем типам носителя группы, указанной в определении свойства.
CSS2 определяет следующие группы носителей:
В следующей таблице показаны соотношения между группами носителей и типами носителя:
Типы носителя | Группы носителей | |||
---|---|---|---|---|
непрерывный/
страничный | визуальный/звуковой/
осязательный | решётка/
растровый | интерактивный/
статичный | |
звуковой | непрерывный | звуковой | N/a | оба |
брайль-устройство | непрерывный | осязательный | решётка | оба |
брайль-принтер | страничный | осязательный | решётка | оба |
портативный | оба | визуальный | оба | оба |
печатный | страничный | визуальный | растровый | статичный |
проектор | страничный | визуальный | растровый | статичный |
экран | непрерывный | визуальный | растровый | оба |
tty | непрерывный | визуальный | решётка | оба |
tv | оба | визуальный, звуковой | растровый | оба |
Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.
⇪