Плывучыя элементы пад тэгамі ў CSS

Хай зараз у нас ёсць два абзацы і карцінка, размешчаная ў першым абзацы. Хай гэтай карцінцы ў нас зададзена ўласцівасць float у значэнні right, а таксама паўпразрыстасць:

html<div>
  <p>
    <img src="img.png" alt="">
    Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
  </p>
  <p>
    some long text
  </p>
</div>
cssdiv {
  border: 1px solid red;
  text-align: justify;
}
p {
  border: 1px solid green;
}
img {
  float: right;
  opacity: 0.5;
}

Результат:

А цяпер давайце паставім у HTML кодзе карцінку пасля першага абзацу і паглядзім, што будзе:

html<div>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
  </p>
  <img src="img.png" alt="">
  <p>
    some long text
  </p>
</div>
cssdiv {
  border: 1px solid red;
  text-align: justify;
}
p {
  border: 1px solid green;
}
img {
  float: right;
  opacity: 0.5;
}

Результат:

Як мы бачым, карцінку агінае тэкст другога абзацу, але не першага.

Давайце наогул пераставім нашую карцінку пасля другога абзацу. У гэтым выпадку яна будзе плаваць справа, але ніякага агінання не будзе:

html<div>
  <p>
    Lorem ipsum dolor sit amet, consectetur adipiscing elitorire.
  </p>
  <p>
    some long text
  </p>
  <img src="img.png" alt="">
</div>
cssdiv {
  border: 1px solid red;
  text-align: justify;
}
p {
  border: 1px solid green;
}
img {
  float: right;
  opacity: 0.5;
}

Результат:

Атрымліваецца, што агінаць карцінку будуць толькі тыя элементы, якія знаходзяцца пад ёй, але не тыя, якія знаходзяцца над ёй.