Спецификация HTML 4.01 + Спецификация CSS2


Абсолютное позиционирование, незамещаемые элементы


Условие, определяющее вычисленные значения для этих элементов:

'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = ширина содержащего блока

(Если стиль рамки - 'none', используется '0' как значение ширины рамки.) Решение данного условия достигается серией замен в следующем порядке:

  • Если 'left' имеет значение 'auto' при 'direction' - 'ltr', 'auto' заменяется расстоянием от левого края содержащего блока до края левого поля гипотетического бокса, который мог бы быть первым боксом элемента, если его свойство 'position'

    было бы 'static'. (Но вместо того, чтобы действительно рассчитать этот бокс, ПА свободны предполагать о его возможной позиции.) Значение является отрицательным, если гипотетический бокс находится слева от содержащего блока.

  • Если 'right'

    имеет значение 'auto' при 'direction'

    - 'rtl', 'auto' заменяется расстоянием от правого края содержащего блока до края правого поля того же гипотетического бокса, что и выше. Значение является положительным, если гипотетический бокс находится слева от края содержащего блока.

  • Если 'width'

    - 'auto', любые оставшиеся 'auto' для 'left'

    или 'right' заменяются на '0'.

  • Если 'left', 'right' или 'width' - (ещё) 'auto', 'auto' в 'margin-left'

    или 'margin-right'

    заменяются на '0'.

  • Если в данной точке 'margin-left' и 'margin-right' всё ещё 'auto', уравнение решается с дополнительным условием: что эти два поля обязаны получить одинаковые значения.
  • Если в данной точке осталось только одно 'auto', уравнение решается с этим значением.
  • Если в данной точке значения переограниченны, игнорируется значение 'left' (если 'direction' - 'rtl') или 'right' (если 'direction' - 'ltr') и уравнение решается с этим значением.


  • Содержание раздела