margin-top ребенка - сдвигает родителя - почему?

225
24 октября 2017, 01:00

Вставляю блок, и даю ему margin-top: 50px - и он сдвигает родителя body в данном случае. Почему так происходит?

Если же дать padding-top: - тогда ок все

* { 
  margin: 0; 
  padding: 0; 
} 
 
body { 
  outline: 1px solid red; 
} 
 
.logo-bg { 
  outline: 1px solid orange; 
  width: 100px; 
  height: 100px; 
  margin-top: 50px; 
}
<div class="logo-bg"> 
  <a href="#" class="logo">Logotype</a> 
</div>

Answer 1

Это называется Выпадание внешних отступов (margin'ов)

Если внутри родительского блока расположить блок и задать ему отступ сверху, то внутренний блок прижмется к верхнему краю родительского, а у родительского элемента появится отступ сверху. Т.е. верхний отступ внутреннего элемента «выпадает» из родительского элемента.

Если у родительского элемента тоже был задан внешний отступ, то выберется максимальный отступ между собственным и «выпавшим». Чтобы избавиться от эффекта выпадания, можно задать родительскому элементу внутренний отступ (паддинг) сверху или добавить рамку сверху (border-top: 1px solid transparent).

Внешние и внутренние отступы всегда складываются.

Answer 2

Похоже на своеобразное "схлопывание". Еще здесь есть более подробная инфа. В данном примере достаточно заменить у body outline на border или задать padding.

READ ALSO
Bootstrap3 вложенность container?

Bootstrap3 вложенность container?

Помогите разобраться с сеткойВнутри container-fluid есть две колонки (col-md-8 и col-md-4)

230
Как сделать счетчик скачек файла?

Как сделать счетчик скачек файла?

Мне нужен счетчик скачек файла,который будет передавать информацию о скачках в другой файл с расширением php Есть вот такой код,но он способен...

268
Надо сделать изгиб полоски в обе стороны при наведении [требует правки]

Надо сделать изгиб полоски в обе стороны при наведении [требует правки]

Надо чтоб при наведении на полоску она плавно изгибалась вверх, потом вниз - примерно как тутИдея была такая - задать border-radius 100% для hr, дать...

271
Ввод данных на другом сайте в тег input [требует правки]

Ввод данных на другом сайте в тег input [требует правки]

Мне нужно ввести данные в input тегДело в том, что это надо сделать на другом сайте, а точнее на https://vk

240