Первый div (float: left).

Текст обтекает первый div со всех сторон, кроме левой, т.к. у него свойство float имеет значение left.

Второй div (float: right). Он выходит за пределы родительского элемента, т.к. тот его не видит. Для устранения такой проблемы нужно задать родительскому элементу соответствующую высоту.

Второй div обтекается со всех сторон, кроме правой, т.к. у него свойство float имеет значение right.




Третий div (float: left).

Обратите внимание, что сам элемент 'p' игнорирует плавающий элемент, а вот строковое содержимое видит и обтекает его!!!