Вертикальное форматирование Назад
Ширина границы фиксированного блочного элемента определяют минимальное расстояние до краев окружающих полей. Две или более прилегающих вертикальных границы (т.е. без рамки, отступа и содержания между ними) сжимаются для максимального использования значения границы. В большинстве случаев после сжатия вертикальных границ результат приятнее на вид и ближе к ожидаемому дизайнером. В приведенном примере границы между двумя элементами "LI" сжимаются с использованием максимума нижней границы первого элемента "LI" и верхней границы второго элемента "LI". Аналогично, если заполнение между "UL" и первым элементом "LI" (значение "Е") было бы равно нулю, границы "UL" и первого элемента "LI" были бы сжаты.
В случае отрицательных границ, абсолютный максимум прилегающих отрицательных границ вычитается из максимума прилегающих положительных границ. Если положительных границ нет, абсолютный максимум негативных прилегающих границ вычитается из нуля.
Горизонтальное форматирование Назад
Горизонтальное позиционирование и размеры фиксированного блочного элемента определяются семью свойствами: "margin-left", "border-left", "padding-left", "width", "padding-right", "border-right" и "margin-right". Сумма этих семи составляющих равносильна ширине родительского элемента.
По умолчанию, "ширине" элемента присваивается значение "auto". Если элемент не является замещаемым, это значит, что UA считает "ширину" так, чтобы сумма указанных семи свойств была эквивалентна ширине родительского элемента. Если элемент замещаемый, то значение "auto" для "ширины" автоматически заменяется внутренней шириной элемента.
Трем из семи свойств может быть присвоено значение "auto": "левая граница", "ширина", и "правая граница". Для замещаемых элементов значение "auto" для "ширины" автоматически заменяется внутренней шириной элемента, поэтому для них могут существовать только два значения auto".
"Ширина" имеет неотрицательное минимально-допустимое значение, определяемое UA (которое может меняться от элемента к элементу, и даже зависеть от других свойств). Если "ширина" меньше допустимой (даже если она задана явным образом либо имела значение "auto" и по приоритетному правилу должна быть меньше), ее значение будет заменено заменяется минимально-допустимым.
Если именно одно из свойств "левая граница", "ширина" или "правая граница" имеют значение "auto", UA определит этому свойству значение, которое сделает сумму значений семи свойств эквивалентной ширине родительского элемента.
Если ни одно из свойств не имеет значения "auto", то последнее будет присвоено свойству "правая граница".
Если более чем одному из трех вышеуказанных свойств будет присвоено значение "auto", и одно из них- "ширина", то остальные ("левая граница", и/или "правая граница") будут приравнены к нулю, а "ширина" получит значение, необходимое, чтобы сделать сумму значений семи свойств эквивалентной ширине родительского элемента.
В противоположной ситуации, если как "правая граница" так и "левая граница" будут иметь значение "auto", им будут присвоены равноценные значения. Элемент будет выронен по центру внутри родительского.
Если значение "auto" было присвоено как значение для одного из вышеупомянутых семи свойств в строчном или плавающем элементе, это будет обработано так, как если бы им было присвоено нулевое значение.
В отличие от вертикальных границ, горизонтальные границы не сливаются.
Элементы-списки Назад
Элементы со свойством "display", имеющим значение "list-item" ("список"), форматируются как блочные, но предваряются маркером. Тип маркера определяется свойством "стиль списка" ("list-style"). Маркер устанавливается в соответствии со значением свойства "стиль списка":
<STYLE TYPE="text/css"> UL { list-style: outside } UL.compact { list-style: inside } </STYLE>
<UL> <LI>первый пункт списка идет первым <LI>второй пункт списка идет вторым </UL>
<UL CLASS=COMPACT> <LI>первый пункт списка идет первым <LI>второй пункт списка идет вторым </UL>
Форматирование по данному примеру может выглядеть как:
* первый пункт списка идет первым
* второй пункт списка идет вторым
* первый пункт списка идет первым
* второй пункт списка идет вторым
Если текст выравнивается по ширине, маркеры должны быть на левой стороне поля.
1 2 3 4 5
8 8 8
| |