Плаващи елементи под тагове в 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;
}

Результат:

Оказва се, че изображението ще се обвива само от тези елементи, които са разположени след него, но не и от тези, които са преди него.