Прежде всего, HTML-разметка,
<p>Bananas For BreakFast</p>
<h1>What the what!?</h1>
... и css,
body, p, h1, h2, h3, h4{
margin: 0; padding: 0;
}
body{
padding: 30px;
}
/*remove the comment to trigger the effect
body{
padding: 0;
}
*/
p{
float: left;
background-color: red; /*just to aid visualization*/
}
h1{
clear: both;
margin-top: 200px;
background-color: grey; /*just to aid visualization*/
}
Вы можете увидеть это в действии на странице tinkerbin ниже.
http://tinkerbin.com/FJcLuxBr
Итак, в чем моя проблема?
Простой: при заполнении элемента body применяется верхний край очищенного элемента. Когда 'padding: 0;' 'margin-top' на том же очищенном элементе перестает работать.
Почему?
Очищенные элементы не участвуют в коллапсах полей с элементами над ним, поэтому это не может быть коллапс вершины полей с полями тела. И даже если бы это было так, то поле должно быть применено к элементу body, толкая все это вниз - и это не так.