Есть свойства, которые отменяют схлопывание.
Padding для блока и margin-bottom для дочерних, если их несколько.
Логично, что нижний, а не верхний.
Но разумным ответом был бы padding. Там же фон может быть, содержимое не должно прилипнуть к краю фона.
Потому что margin вываливаются. И margin-top у дочернего не даст того же эффекта, как padding-top у родителя.
Смотрите: https://jsfiddle.net/nxqsupLh/
<block 1>
<content></content>
</block 1>
<block 2>
<content></content>
</block 2>
И контрольный в голову: в статьях что по этому поводу написано?
2 margin схлопываются
padding - внутренние отступы. Без них никак если захочешь border-ом обвести и выделить блок.
Можно упростить. Если это первая работа, то без разницы, просто для начала сделайте, чтобы совпадало с макетом. И так десяток-другой макетов. В процессе найдете закономерности, что часть блоков похожи друг на друга и хорошо бы их делать какими-то универсальными удобными для вас методами.
<block 1>
<content></content>
</block 1>
<block 2>
<content></content>
</block 2>
Думаю в хорошей вёрстке используется и то и другое, но с единым стилем.