Потому что non-containing блоки имеют поведение, важное для верстки текста. То же схлопывание границ, например, для <p>.
Надо держать в уме, что сss разрабатывался для верстки текста, а не лейаута. Единственный штатный способ делать лейаут - абсолютное позиционириваное, все остальное - workaround-ы и хаки.
Надо держать в уме, что сss разрабатывался для верстки текста, а не лейаута. Единственный штатный способ делать лейаут - абсолютное позиционириваное, все остальное - workaround-ы и хаки.