Autor Zpráva
Dusann
Profil
Prečo sa inline element definovaný v HTML pred floatom nezobrazuje NAD floatom, ale vedľa neho ?

Napr.:

<span>inline</span>
<div>float</div>
Taps
Profil
Dusann:
já tam žádný problém nevidím Odkaz
anonymníí
Profil *
Dusann:
A prečo by mal?

Je to přece standardní chování floatu - pokud se vejde vedle jiného elementu, umístí se tam. Pokud se nevejde, zaomí se na další řádek. Proč si myslíš, že tebou popisované chování by bylo správné a standardní? Jak by se lišilo od situace, kdy první prvek bude blokový, namísto inlinového?
Dusann
Profil
Asi som sa zle vyjadril - pod pojmom float mám na mysli element na ktorom je aplikovaná vlastnosť float (v tomto prípade je float na <div>). Vedľa neho teda "plávajú" ďalšie elementy, ktoré sú definované v HTML za ním. Prečo ale inline element <span> definovaný pred elementom s float <DIV> sa tiež zobrazuje vedľa <DIV> ?
anonymníí
Profil *
Dusann:
Tak ještě jednou:

Je to [...] standardní chování floatu - pokud se vejde vedle jiného elementu, umístí se tam. Pokud se nevejde, zaomí se na další řádek. [...] Jak by se lišilo od situace, kdy první prvek bude blokový, namísto inlinového?

Pokud máš pořadí inline>float, inline-block>float, float>float a oba tyto prvky jsou krátké (vejdou se vedle sebe na řádek), zarovnají se vedle sebe.
Trejpa
Profil
Dusann:
Nastavením levého plavání je blok vytržen z běžného toku textu (i inline elementů). Je posunut na pozici svisle odpovídající hornímu okraji řádku, na kterém by byl umístěn bez plavání a vodorovně k levému okraji. Může tak dojít k situaci, že plovoucí blok je umístěn více vlevo, než text na řádku, který je v kódu původně před ním. Takový text plovoucí blok obtéká - pokračuje až za ním.

Levým plaváním vlastně říkáš prohlížeči, že okolní text může na plovoucí element navazovat pouze z pravé strany.
Dusann
Profil
anonymníí:

‚Je to [...] standardní chování floatu - pokud se vejde vedle jiného elementu, umístí se tam. Pokud se nevejde, zaomí se na další řádek. [...]

OK, už rozumiem. Takže to o čom hovoríš ty, je bod č.8 z tejto špecifikácie ? www.w3.org/TR/CSS21/visuren.html#floats :

A floating box must be placed as high as possible.

Proč si myslíš, že tebou popisované chování by bylo správné a standardní?

Keďže ten <DIV> s floatom je blokový element tak som predpokladal že sa zobrazí vždy na novom riadku.
anonymníí
Profil *
Dusann:
Takže to o čom hovoríš ty, je bod č.8 z tejto špecifikácie ? www.w3.org/TR/CSS21/visuren.html#floats :
Nevím, specifikaci jsem nikdy nestudoval a ani nyní ji studovat nebudu. Tebou citovaná věta o umístění floatu... nejsem si jistý, jestli říká totéž, nicméně chování je takové, jaké popisuji. Co pozoruješ, je v pořádku.

DIV je sice blokový, ale floatem se některé jeho vlastnosti mění. Vše floatované se stává sice blokovým (i kupříkladu span), nicméně současně blokové prvky ztrácí 100% šířku a jsou vyjmuty z toku dokumentu.

Ono slova jako „vyjmout z toku dokumentu“ apod. jsou pro někoho těžce uchopitelná a představitelná. Možná na ně zapomeň, a pro lepší pochopení se zkus podívat na 10 různých stránek, najdi si, co všechno je tam floatované (+ jaké styly mají okolní elementy) a princip fungování floatu pochopíš.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0