В этом коде:
<div style="background: green; border: 2px solid black">
outerfoo
<div style="background: red; float: left">innerfoo</div>
</div>
видно, что внутренний див приклеялся к левой стенке внешнего, перекрыв его часть. Почему же тогда текст не перекрылся? Получается, что текст при перекрытии одного элемента другим выползает из-под него в свободное пространство? Есть какое нибудь общее правило позиционирования текста при перекрытии, и вообще? Получается, что текст вообще независим от блока, который его содержит?