![]() |
||
|
aranea.ru || Спецификация CSS2 | 10.6. Расчет высоты и полей.
10.6. Расчет высоты и полей.10.6.1. Внутристрочные незаменяемые элементы.10.6.2. Внутристрочные заменяемые блочные элементы, заменяемые элементы при нормальном размещении и заменяемые элементы с плавающим смещением. 10.6.3. Блочные незаменяемые элементы при нормальном размещении и незаменяемые элементы с плавающим смещением. 10.6.4. Абсолютно позиционированные, незаменяемые элементы. 10.6.5. Абсолютно позиционированные, заменяемые элементы. Для подсчета значений 'top', 'margin-top', 'height', 'margin-bottom' и 'bottom', необходимо делать различие между типами блоков:
Пункты 1-6 включают относительное позиционирование. 10.6.1. Внутристрочные незаменяемые элементы.Если 'top', 'bottom', 'margin-top', или 'margin-bottom' определены, как 'auto', то их подсчитанное значение равно 0. Свойство 'height' не применяется, но высота блока определяется свойством 'line-height'. 10.6.2. Внутристрочные заменяемые блочные элементы, заменяемые элементы при нормальном размещении и заменяемые элементы с плавающим смещением.Если 'top', 'bottom', 'margin-top' или 'margin-bottom' определены, как 'auto', то их подсчитанное значение равно 0. Если 'height' - 'auto', то подсчитанное значение является внутренней высотой. 10.6.3. Блочные незаменяемые элементы при нормальном размещении и незаменяемые элементы с плавающим смещением.Если 'top', 'bottom', 'margin-top' или 'margin-bottom' определены, как 'auto', то подсчитанное значение равно 0. Если 'height' - 'auto', то высота зависит от того, имеет ли элемент какой-либо блочный дочерний элемент. Если он имеет только внутристрочный дочерний элемент, то высота определяется от вершины самого высокого строчного блока до низа самого низкого строчного блока. Если он имеет блочный элемент, то высота определяется расстоянием от верхнего края границы самого высокого блочного дочернего блока до нижнего края границы самого низкого блочного дочернего блока. Только дочерние элементы в нормальном размещении берутся во внимание (т.е. плавающие блоки и абсолютно позиционированные блоки игнорируются, а относительно позиционированные блоки рассматриваются без их смещения). Обратите внимание, что дочерний блок может быть анонимным блоком. 10.6.4. Абсолютно позиционированные, незаменяемые элементы.Для абсолютно позиционированных элементов вертикальные размеры должны удовлетворять следующее ограничение: 'top' + 'margin-top' + 'border-top-width' + 'padding-top' + 'height' + 'padding-bottom' + 'border-bottom-width' + 'margin-bottom' + 'bottom' = высота объемлющего блока (Если стиль границы установлен 'none', то используйте '0', как ширину границы). Решение для этого ограничения достигается через ряд замен в следующем порядке:
10.6.5. Абсолютно позиционированные, заменяемые элементы.Эта ситуация похожа на предыдущую, за исключением того, что элемент имеет внутреннюю высоту. Последовательность замен смотрите ниже:
|