По какой-то причине, если я раскомментирую "x", все выглядит отлично.
Да, с помощью 'x' на пути есть некоторый контент, между дочерним margin-top и родительским margin-top. Поля не могут быть свернуты через контент, отступы или границы, поэтому другое исправление заключается в том, чтобы поместить любое количество верхнего отступа или границы на любой элемент между выделенным разделителем и ограниченным разделением. Например, если граничный элемент также имеет верхнюю границу, левая граница подпрыгнет вверх, чтобы присоединиться к нему сверху.
Ответ Бена является распространенным методом, использующим побочный эффект для предотвращения разрушения полей, из-за этой строки в разделе 8.3.1 CSS2.1 :
Вертикальные поля элементов с «переполнением», отличным от «видимого», не разрушаются вместе со своими дочерними элементами в потоке.
Но для ясности, возможно, лучше избежать коллапса маржи, если вы можете. Использование отступов в предпочтении к верхним и нижним полям, где это возможно, обычно является хорошей тактикой, поскольку правила свертывания полей в CSS не интуитивны и бесполезны, и будут кусать вас снова и снова - даже игнорируя ошибки в реализации IE6.