В последней редакции CSS2.1 есть что сказать по этому вопросу:
Когда встроенный блок содержит блок уровня блока в потоке, встроенный блок(и его встроенные предки в одном и том же линейном блоке) разбиты вокруг блока на уровне блоков (и любых братьев и сестер на уровне блоков, которые являются последовательными или разделяются только разборными пробелами и / или элементами вне потока), разбивая встроенный блокв два блока (даже если одна из сторон пуста), по одному на каждой стороне блока (ов) уровня блока.Строковые блоки до перерыва и после перерыва заключаются в анонимные блочные блоки, и блок уровня блока становится родственным из этих анонимных блоков.Когда на такой встроенный блок влияет относительное расположение, любой результирующий перевод также влияет на блок уровня блока, содержащийся во встроенном блоке.
Другими словами, с точки зрения компоновки, встроенный divи комбинация h3 образует встроенный блок, блок блока и другой встроенный блок.Только два встроенных блока принимают форматирование (т.е. цвет фона), а блок блока не образует какую-либо часть встроенного блока, определенного элементом div, и поэтому принимает настройку цвета фона по умолчанию (которая является прозрачной, отображается через фон).цвет содержащего его блока).