Я думаю, что это сжатая разница.
Учитывается только наибольшая разница между нижней частью первого элемента и верхней частью второго.
Вполне нормально не иметь слишком много места между двумя абзацами, например.
Вы не можете избежать этого с двумя смежными элементами, поэтому вам нужно увеличить или уменьшить больший запас.
РЕДАКТИРОВАТЬ: ср. W3C
К двум полям примыкают, если и только если:
- оба принадлежат блокам уровня блока в потоке, которые участвуют в одном и том же контексте форматирования блока
- без строковых блоков, без зазора, без отступов и границ, разделяющих их
- оба принадлежат вертикально смежным краям коробки
Таким образом, нет разрушения с float
, который выводит элемент из потока.