Думайте о браузере как о том, что по умолчанию выкладываете страницы слева направо и сверху вниз.
Первоначально отправная точка для контента находится сверху, слева.
Сжатие float:right
из #right1
оборачивает элемент div и перемещает его в правую сторону. Место слева от него доступно для другого контента.
Сжатие float:right
из #right2
оборачивает div и пытается также переместить его в правую сторону. Но clear:right
мешает ему идти рядом с #right1
div. Таким образом, отправная точка для содержимого, подлежащего размещению, перемещается вниз до тех пор, пока не будет успешно размещен элемент #right2
. Затем он помещается справа.
Затем ставится #left1
div. Сокращение float:left
оборачивает элемент div и пытается поместить его в начальную точку для содержимого, которое теперь находится непосредственно слева от #right2
. Так как пространство слева от #right2
достаточно велико, чтобы вместить #left1
, вот где находится #left1
.
Аналогичным образом, пространство слева от #right2
и справа от #left1
достаточно велико, чтобы вместить #left2
, вот где находится #left2
.