Соответствующие ПА могут ограничивать свои возможности вывода цвета для выполнения коррекции гаммы цветов. sRGB специфицирует гамму дисплея в 2.2 от специфицированных условий просмотра. ПА должны уточнить цвет, заданный в CSS, так чтобы в сочетании с 'натуральной' гаммой дисплея выводного устройства воспроизводилась эффективная гамма дисплея в 2.2. См. дополнительные детали в разделе коррекция гаммы. Обратите внимание, что воздействие производится только на цвета, специфицированные в CSS; например, от изображений ожидается сопровождающая их собственная цветовая информация.
Значения вне гаммы устройства должны усекаться: значения red, green и blue обязаны измениться, чтобы войти в рамки диапазона, поддерживаемого устройством. Для типичного CRT-монитора, чья гамма устройства - та же самая, что и sRGB, следующие три правила эквивалентны:
EM { color: rgb(255,0,0) } /* диапазон целых 0 - 255 */
EM { color: rgb(300,0,0) } /* усекается до rgb(255,0,0) */
EM { color: rgb(255,-10,0) } /* усекается до rgb(255,0,0) */
EM { color: rgb(110%, 0%, 0%) } /* усекается до rgb(100%,0%,0%) */
Другие устройства, такие как принтеры, имеют гаммы, отличные от sRGB;
некоторые цвета вне диапазона 0..255 sRGB будут презентабельными
(в пределах гаммы устройства), в то время как другие цвета в пределах
диапазона 0..255 sRGB будут вне гаммы устройства и будут, таким образом, усечены.
Примечание. Хотя цвета могут добавить значительное количество информации в документы и сделать их более читабельными, необходимо учитывать, что определённые сочетания цветов могут вызвать проблемы у людей, страдающих нарушениями восприятия цвета. Если Вы используете фоновое изображение или устанавливаете цвет фона, подбирайте, пожалуйста, подходящий цвет переднего плана.
Угловые значения (обозначаемые в тексте <angle>) используются со звуковыми таблицами стилей.
Их формат - необязательный знак ('+' или '-', с '+' по умолчанию), сразу за которым следует <number>, за которым сразу следует идентификатор единиц измерения углов.
Единицами измерения углов являются:
[x]. deg: градусы
[x]. grad: грады
[x]. rad: радианы
Угловые значения могут быть негативными. Они должны быть нормализованы ПАгентом до диапазона 0-360deg. Например, -10deg и 350deg эквивалентны.
Для примера, правый угол - '90deg' или '100grad', или '1.570796326794897rad'.
Временные значения (обозначаемые в тексте <time>) используются со звуковыми таблицами стилей.
Их формат: <number>, сразу за которым идёт идентификатор единиц измерения времени.
Идентификаторами единиц измерения времени являются:
[x]. ms: миллисекунды
[x]. s: секунды
Значения времени не могут быть негативными.
Значения частот (обозначаемые в тексте <frequency>) используются со звуковыми каскадными таблицами стилей.
Их формат: <number>, сразу за которым идёт идентификатор единиц измерения частоты.
Идентификаторами единиц измерения частоты являются:
[x]. Hz: герцы
[x]. kHz: килогерцы
Значения частоты не могут быть негативными.
Например, 200Hz (или 200hz) - это басовый звук, а 6kHz (или 6khz) - средний регистр.
Строки могут записываться в двойных или одинарных кавычках. Двойные кавычки не могут появляться внутри двойных кавычек, если только они не вводятся с помощью escape-последовательности ( '\"' или '\22'). Аналогично для одинарной кавычки ("\'" или "\27").
"this is a 'string'"
"this is a \"string\""
'this is a "string"'
'this is a \'string\''
Строка не может непосредственно содержать переход на новую строку. Чтобы вставить переход на новую строку, используйте escape-последовательность "\A" (16-ричная A - это символ прогона строки в Unicode, но в CSS представляет общее обозначение для "новой строки"). См., например, свойство 'content'.
Можно разбивать строки на несколько строк, по эстетическим и другим соображениям, но в таком случае новая строка сама escape'ируется обратным слэшем (\). Например, следующие два cелектора совершенно одинаковы:
A[TITLE="a not s\
o very long title"] {/*...*/}
A[TITLE="a not so very long title"] {/*...*/}
Таблица стилей CSS это последовательность символов из Universal Character Set/Универсального Набора Символов (см. [ISO10646] ). Для передачи и хранения эти символы обязаны кодироваться в кодировке символов, поддерживающей набор символов, доступных в US-ASCII (например, ISO 8859-x, SHIFT JIS и т.д.). Чтобы хорошенько разобраться в наборах символов и кодировке, см. спецификацию HTML 4.0 ( [HTML40] , главу 5). См. также спецификацию XML 1.0 ( [XML10] , разделы 2.2 и 4.3.3, и Приложение F.
Если таблица стилей встроена в другой документ, например, элемент STYLE или атрибут "style" в HTML, таблица стилей разделяет использование кодировки символов с этим документов.
Если таблица стилей находится в отдельном файле, ПА обязаны учитывать следующий приоритет при определении кодировки символов документа (от высшего приоритета к низшему):
1Параметр HTTP "charset" в поле "Content-Type".
2At-правило @charset.
3Механизмы языка обращающегося документа (например, в HTML атрибут "charset" элемента LINK).
Не более одного правила @charset может появляться во внешней таблице стилей - оно обязано не появляться во внедрённой таблице стилей - и оно должно появляться в самом начале документа, до появления любых символов. После "@charset" авторы специфицируют имя кодировки символов. Имя обязано быть названием набора символов, как описано в регистре IANA (см. [IANA] . См. также в [CHARSETS] полный список наборов символов). Например:
@charset "ISO-8859-1";
В данной спецификации не определено, какие кодировки символов ПА обязан поддерживать.
Обратите внимание, что опора на конструкцию @charset теоретически создаёт проблему, поскольку отсутствует a priori информация о том, как она кодирована. На практике, однако, широко используемые кодировки в Internet базируются или на ASCII, UTF-16, UCS-4, или (редко) на EBCDIC. В общем, это означает, что значения начальных байтов документа дают ПАгенту возможность определить семейство кодировки, что даёт достаточно информации для декодирования правила @charset, которое, в свою очередь, определяет точную кодировку.
Таблице стилей может понадобиться обратиться к символам, которые невозможно представить в текущей кодировке символов. Эти символы обязаны быть записаны как escape'ированные ссылки на символы ISO 10646. Эти мнемоники служат для тех же целей, что и числовые ссылки в документах HTML или XML (см. [HTML40] , главы 5 и 25).