Text v rodiči floatů v CSS

Odstraňme vlastnost height pro div a vložme krátký text před obrázek.

V tomto případě bude výška našeho divu rovna výšce textu a obrázek stále vyčnívá z divu:

html<div>
  text
  <img src="img.png" alt="">
</div>
cssdiv {
  border: 1px solid red;
}
img {
  float: right;
}

Результат:

Přidejme text za obrázek - výsledek se nezmění:

html<div>
  <img src="img.png" alt="">
  text
</div>
cssdiv {
  border: 1px solid red;
}
img {
  float: right;
}

Результат:

Nastavme, aby obrázek plaval vlevo - výsledek bude analogický:

html<div>
  <img src="img.png" alt="">
  text
</div>
cssdiv {
  border: 1px solid red;
}
img {
  float: left;
}

Результат:

Přidejme dole další div - obrázek najede i na něj:

html<div>
  <img src="img.png" alt="">
  text
</div>
<div>
  text
</div>
cssdiv {
  border: 1px solid red;
}
img {
  float: left;
}

Результат:

Pokud do prvního divu přidáme tolik textu, že jeho výška bude větší než obrázek - nebude najíždět na druhý div:

html<div>
  <img src="img.png" alt="">
  some long text
</div>
<div>
  text
</div>
cssdiv {
  text-align: justify;
  border: 1px solid red;
}
img {
  float: left;
}

Результат:

Tento moment je velmi důležitý - při vývoji může nastat situace, kdy v nějakém bloku máte dostatek textu, ale pak při reálném provozu webu bude v tomto bloku méně textu, než bylo plánováno. Ukáže se, že v tomto případě se projeví problém s najížděním plovoucích prvků na sousední bloky.