Ujuvad elemendid siltide all CSS-is

Oletame, et meil on praegu kaks lõigu ja pilt, mis asub esimeses lõigus. Oletame, et sellele pildile on meil määratud omadus float väärtusega right, samuti poolläbipaistvus:

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;
}

Результат:

Nüüd paneme HTML-koodis pildi esimese lõigu järele ja vaatame, mis juhtub:

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;
}

Результат:

Nagu näeme, ümbritseb pilti teise lõigu tekst, kuid mitte esimest.

Paneme oma pildi täiesti pärast teist lõigu. Sel juhul hõljub see paremal, kuid ümbritsemist ei toimu:

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;
}

Результат:

Selgub, et pilti ümbritsevad ainult need elemendid, mis asuvad selle all, kuid mitte need, mis asuvad selle kohal.