![]() |
||
|
aranea.ru || Спецификация CSS2 | 10.3. Расчет ширины и полей.
10.3. Расчет ширины и полей.10.3.1. Внутристрочные незаменяемые элементы.10.3.2. Внутристрочные заменяемые элементы. 10.3.3. Блочные незаменяемые элементы. 10.3.4. Блочные заменяемые элементы при нормальном размещении. 10.3.5. Плавающее смещение незаменяемых элементов. 10.3.6. Плавающее смещение заменяемых элементов. 10.3.7. Абсолютно позиционированные, незаменяемые элементы. 10.3.8. Абсолютно позиционированные, заменяемые элементы. Рассчитанные значения для свойств элемента 'width', 'margin-left', 'margin-right', 'left' и 'right' зависят от типа сгенерированного блока и друг друга. В принципе, рассчитанные значения являются тем же самым, что и определенные значения с замененным 'auto' на другое приемлемое значение, но есть исключения. Необходимо различать следующие ситуации:
Пункты 1-6 включают относительное позиционирование. 10.3.1. Внутристрочные незаменяемые элементы.Свойство 'width' не применяется. Определенное значение 'auto' для 'left', 'right', 'margin-left' или 'margin-right' становится рассчитанным значением, равным '0'. 10.3.2. Внутристрочные заменяемые элементы.Определенное значение 'auto' для 'left', 'right', 'margin-left' или 'margin-right' становится рассчитанным значением '0'. Определенное значение 'auto' для 'width' представляет внутреннюю ширину элемента, как рассчитанную. 10.3.3. Блочные незаменяемые элементы.Если 'left' или 'right' даны, как 'auto', то их рассчитанное значение равно 0. Для других свойств должны выполняться следующие ограничения: 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' = ширина объемлющего блока (Если стиль границы определен, как 'none', то используйте '0' для ширины границы). Если все, выше сказанное, имеет определенное значение, отличное от 'auto', то эти значения называют "жестко ограниченными", и одно из рассчитанных значений будет отличаться от его определенного значения. Если свойство 'direction' имеет значение 'ltr', то определенное значение 'margin-right' игнорируется, а значение рассчитывается так, что оно делает равенство верным. Если значение 'direction' является 'ltr', то это выполняется для 'margin-left'. Если одна величина точно определена, как 'auto', то рассчитанное значение следует из равенства. Если 'width' установлена, как 'auto', то любые другие значения 'auto' становится равным '0', а 'width' следует из результирующего равенства. Если оба свойства 'margin-left' и 'margin-right' являются 'auto', то рассчитанные значения равны. 10.3.4. Блочные заменяемые элементы при нормальном размещении.Если 'left' или 'right' установлены, как 'auto', то их рассчитанное значение равно 0. Если 'width' определена, как 'auto', то ее значение является внутренней шириной элемента. Если одно из полей установлено, как 'auto', то его рассчитанное значение подчиняется ограничениям, указанным выше. Более того, если оба поля - 'auto', то их рассчитанные значения равны. 10.3.5. Плавающее смещение незаменяемых элементов.Если 'left', 'right', 'width', 'margin-left', или 'margin-right' установлены, как 'auto', то их рассчитанное значение равно '0'. 10.3.6. Плавающее смещение заменяемых элементов.Если 'left', 'right', 'margin-left' или 'margin-right' определены, как 'auto', то их рассчитанное значение равно '0'. Если 'width' установлена, как 'auto', то ее значение является внутренней шириной элемента. 10.3.7. Абсолютно позиционированные, незаменяемые элементы.Ограничения, которые определяют рассчитанные значения для этих элементов, следующие: 'left' + 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' + 'right' = ширина объемлющего блока (Если стиль границы является 'none', то используйте '0', как ширину границы). Решение для этого ограничения осуществляется через ряд замещений в следующем порядке:
10.3.8. Абсолютно позиционированные, заменяемые элементы.Эта ситуация похожа на предыдущую, за исключением того, что элементы имеют внутреннюю ширину. Последовательность замен следующая:
|