Формат значения длины состоит из
необязательного знака ("+" или "-",
по умолчанию "+"), обязательного числа (с
десятичной частью, отделяемой десятичной
точкой, или без), и обязательного
идентификатора размерности в виде
двухбуквенной аббревиатуры, указываемых в
последовательности перечисления в
настоящем абзаце. После числа "0"
идентификатор размерности не обязателен.
Некоторые свойства используют
отрицательные единицы длины, однако это
может усложнить способ форматирования и
могут возникнуть ограничения, диктуемые
особенностями отработки. Если
отрицательная длина не поддерживается, то
она должна быть замещена ближайшим
поддерживаемым значением.
Существуют два типа единиц длины:
относительные и абсолютные. Относительные
единицы определяют длину относительно
другой длины свойства. Если таблица стилей
использует относительные единицы, то это
более удобно для масштабирования страницы
на разных периферийных устройствах (напр.
при выводе с экрана на печать). Такого
эффекта позволяют достичь и процентные
выражения (как показано ниже), а также
зарезервированные слова (напр. 'x-large').
Поддерживаются следующие
относительные единицы:
H1 { margin: 0.5em }
/* ems, высота шрифта
элемента */
H1 { margin: 1ex }
/* x-height, ~ по высоте
буквы 'x' */
P { font-size: 12px }
/* pixels, в пикселах
относительно холста */
Относительные единицы 'em' и 'ex'
определяются относительно размера шрифта
самого элемента. Единственное исключение
из этого правила делается для свойства "размер
шрифта" ('font-size'), для которого 'em' и 'ex'
определяются по размеру шрифта
родительского элемента.
Пиксели, указанные в последнем
примере, определяются относительно
разрешения холста, чаще всего - экранного
разрешения. Если разрешающая способность
устройства вывода отличается от
характерной для экрана, UA должен
масштабировать значение в пикселях.
Замещающий пиксель соответствует углу
зрения, под которым виден один пиксель на
устройстве с разрешающей способностью 90
точек на дюйм на расстоянии, оптимальном
для зрения. При величине последнего 28
дюймов угол зрения приблизительно равен
0,0227 градуса.
Дочерние элементы наследуют
вычисленное значение, а не относительное:
BODY {
font-size: 12pt;
text-indent: 3em; /* i.e. 36pt */
}
H1 { font-size: 15pt }
В приведенном примере значение
абзацного отступа ('text-indent') элемента H1 будет
равно 36 пунктов, а не 45.
Абсолютные единицы длины
используются лишь в тех случаях, когда
заведомо известны физические
характеристики устройства вывода.
Поддерживаются следующие абсолютные
единицы:
В случаях, когда заданная длина не
может быть отработана, UA должны
аппроксимировать ее. Дальнейший пересчет и
наследование для всех свойств CSS1 должен уже
основываться на результатах аппроксимации.
6.2 Процентное выражение
Формат процентного выражения
состоит из необязательного знака ("+"
или "-", по умолчанию "+"),
обязательного числа (с десятичной частью,
отделяемой десятичной точкой, или без), и
обязательного знака "%", указываемых в
последовательности перечисления в
настоящем абзаце.
Процентное значение всегда
является относительным к другому, например,
к значению длины. При назначении
процентного выражения для каждого случая
предполагается наличие базы отсчета - чаще
всего это размер шрифта данного элемента:
Для всех наследованных свойств CSS1
считается, что если значение было указано в
виде процентного выражение, то дочерние
элементы наследуют результирующее
значение, а не величину процентовки.
6.3 Обозначение цвета
Цвет обозначатся либо
зарезервированным словом, либо численно по
спецификации RGB.
Допустимы следующие
зарезервированные слова для указания цвета:
aqua (светло-голубой), black (черный), blue (синий),
fuchsia (светло-фиолетовый), gray (серый), green (зеленый),
lime (светло-зеленый), maroon (коричневый), navy (темно-синий),
olive (оливковый), purple (фиолетовый), red (красный),
silver (светло-серый), teal (сине-зеленый), white (белый),
и yellow (желтый). Эти 16 цветов взяты из палитры
VGA для Windows, и их значения RGB не определены в
данной спецификации.
BODY {color: black; background: white }
H1 { color: maroon }
H2 { color: olive }
Для цветовой модели RGB
используются численные выражения. В
нижеприведенных примерах определяется
один и тот же цвет:
EM { color: #f00 }
/* #rgb */
EM { color: #ff0000 }
/* #rrggbb */
EM { color: rgb(255,0,0) }
/* integer
range 0 - 255 */
EM { color: rgb(100%, 0%, 0%) }
/* float
range 0.0% - 100.0% */
Значения в формате RGB указываются в
шестнадцатеричной системе счисления в виде
знака #, за которым без пробелов указываются
три или шесть шестнадцатеричных символа.
Трехсимвольная запись RGB (#rgb)
преобразовывается в шестисимвольную путем
дублирования цифр, а не добавлением нулей.
Например, #fb0 расширяется до #ffbb00. Поэтому
понятно, что белый цвет (#ffffff) может быть
кратко записан как (#fff), и это устранит любые
зависимости от специфики отображения цвета
на экране.
Формат значения RGB в
функциональной записи следующий: 'rgb(' далее
разделенный точками список из трех
численных значений (либо три целочисленных
значения в интервале 0-255б либо три
процентных значения в диапазоне от 0.0% до
100.0%), далее ')'.
Значения за пределами числовых
интервалов должны отсекаться. Ниже
приводятся три эквивалентных примера:
EM { color: rgb(255,0,0) }
/* значения в диапазоне 0
- 255 */
EM { color: rgb(300,0,0) }
/* замена на 255 */
EM { color: rgb(110%, 0%, 0%) }
/* замена на 100% */
Цвета RGB определяются для
цветового поля sRGB [9]. UA может варьировать
результаты обработки в пределах точности, с
которой они могут отображать цвета, однако
применение sRGB обеспечивает однозначное и
объективно измеримое определение цвета в
соответствии с международными стандартами[10].
UA может накладывать ограничения на
указанные условия для отображаемых цветов,
производя коррекцию их гаммы. В
определенных условиях просмотра sRGB
определяет гамму 2.2. UA регулирует заданные
CSS цвета таким образом, чтобы применительно
к устройству вывода получить "естественную"
гамму цветов, гамму 2.2. В приложении D это
рассматривается более подробно. Обратите
внимание, что речь идет только о цветах,
определенных через CSS, а, к примеру, для
графических изображений будет
использоваться их собственная цветовая
информация.
6.4 URL
Универсальный локатор ресурса (URL)
определяется в функциональной записи:
BODY { background: url(http://www.bg.com/pinkish.gif) }
Формат значения URL представляет
собой 'url(', далее необязательный пробел,
далее необязательная одинарная (') или
двойная кавычка ("), далее сам URL (как
определено в [11]), далее необязательная
одинарная (') или двойная кавычка ("), далее
необязательный пробел, далее ')'. Знаки
кавычек, если они не являются частью URL,
должны быть парными.
Круглые скобки, запятые, пробелы,
одинарные и двойные кавычки,
присутствующие в URL, должны отделяться
обратным слешем: '\(', '\)', '\,'.
Неполные URL отрабатываются
относительно исходника таблицы стилей, а не
относительно самого документа: