Может кто-нибудь объяснить, почему добавление отступа или границы к элементу контейнера влияет на отображение плавающего элемента div?
Образцы 1 и 4 показывают, как я ожидаю. Образцы 2 и 3 нет.
Это действительно сводит меня с ума!
Он ведет себя странно как в Webkit, так и в FireFox. Не проверял IE.
<div style="">
<div style="border: 1px solid green; float: right;">This float is correct</div>
<h3 style="margin: 20px 0px; border: 1px solid blue;">Sample 1</h3>
<p>Parent has nothing</p>
</div>
<div style="padding: 1px;">
<div style="border: 1px solid green; float: right;">This float is incorrect</div>
<h3 style="margin: 20px 0px; border: 1px solid blue;">Sample 2</h3>
<p>Parent has padding</p>
</div>
<div style="border: 1px solid red;">
<div style="border: 1px solid green; float: right;">This float is incorrect</div>
<h3 style="margin: 20px 0px; border: 1px solid blue;">Sample 3</h3>
<p>Parent has border</p>
</div>
<div style="padding: 1px;">
<div style="border: 1px solid green; float: right;">This float is correct</div>
<h3 style="margin: 0px 0px; border: 1px solid blue;">Sample 4</h3>
<p>Parent has padding, H3 has no margin</p>
</div>