Elementos flutuantes sob tags em CSS

Suponha que agora temos dois parágrafos e uma imagem, colocada no primeiro parágrafo. Suponha que para esta imagem definimos a propriedade float com o valor right, bem como transparência:

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

Результат:

E agora vamos colocar a imagem no código HTML após o primeiro parágrafo e ver o que acontece:

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

Результат:

Como podemos ver, a imagem é fluída pelo texto do segundo parágrafo, mas não pelo primeiro.

Vamos simplesmente mover nossa imagem para depois do segundo parágrafo. Neste caso, ela flutuará à direita, mas não haverá fluxo algum:

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

Результат:

Assim, a imagem será fluída apenas por aqueles elementos que estão abaixo dela, mas não por aqueles que estão acima dela.