CSS Margin Collapsing - PullRequest
       21

CSS Margin Collapsing

25 голосов
/ 19 сентября 2008

Так, по сути, происходит сужение полей, когда вы не устанавливаете поля, отступы или границы для данного элемента div?

Ответы [ 2 ]

74 голосов
/ 19 сентября 2008

Нет. Если у вас есть два смежных вертикальных поля, используется большее из двух, а другое игнорируется.

Так, например, если у вас есть два элемента отображения блока, A, за которым следует B, а A имеет нижнее поле 3em, а B имеет верхнее поле 2em, то расстояние между ними будет 3em.

Если установить границу или отступ, это предотвратит возникновение коллапса. В приведенном выше примере расстояние между этими двумя элементами будет 5em.

Если вы не устанавливаете поля, значит, поля не будут разрушаться. Он не имеет ничего общего с используемым типом элемента - он применим ко всем типам элементов, а не только к <div> элементам.

Прочитайте спецификацию CSS 2.1 для получения более подробной информации.

4 голосов
/ 19 сентября 2008

"выражение сжимающиеся поля означает, что смежные поля (без непустого содержимого, отступов или границ или разделения между ними) из двух или более блоков (которые могут быть рядом друг с другом или вложенными) объединяются в одно поле . "

Источник: Коробочная модель - 8.3.1 Сжимающиеся поля

...