Опубликован: 06.06.2006 | Доступ: свободный | Студентов: 3901 / 689 | Оценка: 4.34 / 4.02 | Длительность: 21:23:00
Лекция 6:

Установка значений свойств. Каскадирование и Наследование

< Лекция 5 || Лекция 6: 123 || Лекция 7 >
Аннотация: Описываются механизмы присвоения значений элементам, наследования значения потомками, импорт стилевых правил и порядок каскадирования.

Специфицированные, вычисленные и текущие значения

После того, как ПА разобрал документ и сконструировал "дерево документа" , он обязан назначить каждому элементу дерева значение для каждого свойства, применимое для целевого "типа носителя" .

Конечное значение свойства является результатом трёхступенчатого процесса вычисления: значение определяется по спецификации ( "специфицированное значение" ), затем, если необходимо, выводится абсолютное значение ( "вычисленное значение" ) и наконец - трансформируется в соответствии с ограничениями локальной среды ( "реальное значение" ).

Специфицированные значения

ПА обязаны сначала назначить свойству специфицированное значение на основе следующих механизмов (по приоритету):

  1. Если каскад даёт значение, использовать его.
  2. Если свойство унаследовано, использовать значение элемента-предка, обычно - вычисленное значение.
  3. Иначе, использовать начальное значение свойства. Начальное значение каждого свойства указано в определении свойства.

Не имея предков, корневой элемент дерева документа не может использовать значения, унаследованные от элемента-предка; в этом случае используется, если необходимо, начальное значение.

Вычисленные значения

Специфицированные значения могут быть абсолютными (т.е. не специфицированными относительно других значений: 'red' или '2mm') или относительными (т.е. специфицированными относительно других значений: 'auto', '2em', '12%'). Для абсолютных значений не требуется никаких вычислений, чтобы найти вычисленное значение.

Относительные значения, с другой стороны, обязаны быть трансформированы в вычисленные значения: процентные рассчитываются относительно данного значения-ссылки (каждое свойство определяет соответствующее значение), значения с указанием единиц измерения (em, ex, px) должны быть сделаны абсолютными путём применения подходящих по размеру шрифтов или в пикселах, значения 'auto' должны высчитываться по формулам, данным для каждого свойства, ключевые слова ('smaller', 'bolder', 'inherit' ) должны быть замещены в соответствии со своими определениями.

В большинстве случаев элементы наследуют вычисленные значения. Однако есть некоторые свойства, чьи специфицированные значения могут наследоваться (например, числовое значение свойства 'line-height'). В тех случаях , когда дочерние элементы не наследуют вычисленные значения, это описывается в определении свойства.

Реальные значения

Вычисленное значение в принципе готово для использования, но ПА могут не иметь возможности использовать такое значение в имеющемся окружении. Например, ПА могут иметь возможность представлять рамки лишь размером в целое число пикселов и, следовательно, должны сделать приближение до вычисленной ширины. Реальное значение - это вычисленное значение после выполнения некоторого приближения.

< Лекция 5 || Лекция 6: 123 || Лекция 7 >