Ответ 1
Это вызвано сбрасыванием полей. Если два элемента касаются полей, то поля сливаются. Существует большое объяснение этого здесь. Перейдите в раздел Collapsing Margins Between Parent and Child Elements
.
Вот три разных решения.
Один из них - добавить overflow: auto
в контейнер. Это изменяет BCF (контекст форматирования блоков). Этот метод описан более подробно здесь.
#container {
height: 100%;
background-color: black;
/* Add oveflow auto to container */
overflow: auto;
}
Вторым является использование отступов на контейнере вместо поля на логотипе. Это берет поля из уравнения.
#container {
height: 100%;
background-color: black;
/* Use padding on container instead of margin on logo */
padding-top: 30px;
}
Окончательное решение состоит в том, чтобы маржи больше не касались. Вы можете сделать это, добавив отладку 1px к родительскому.
#container {
height: 100%;
background-color: black;
/* Now margins of container and logo won't touch */
padding-top: 1px;
}