Autor Zpráva
Stalker
Profil
Ahoj,

jak vertikálně vycentruji obsah, který je obalen rodičem, který má 100% výšku? Nechci ovšem aby div s classou obal byl table

Kód:

<div class="obal">
<p class="text"> Text, ktery ma byt vertikalne zarovnan </p>
</div>

Html,body{height:100%}
.obal{height:100%;background:pink;}
jefitto44
Profil
ee, tohleto nepojde. Existuje síce vertical-align, ale 100% výšku si ako predstavuješ? :)
Navyše vertical-align sa dá použiť v niekoľkých málo prípadov (zarovnanie obrázka, zarovnanie v tabuľke a pod.)
Stalker
Profil
100% výšku si představuju tak, že div obal s růžovým pozadím bude vždy 100% vysoký napříč různým rozlišením. A odstavec v něm chci mít vždy vertikálně zarovnaný.
Plaváček
Profil
Stalker:

Třeba takto? http://klient.plavacek.net/100procent.html
Stalker
Profil
Plaváček:
Přesně takto. Nicméně nejde to jinak, než s použitím display table a display table-cell?
Plaváček
Profil
Stalker:

Tohle je nejjednodušší a slušně kompatibilní řešení. Proč se mu bránit?
Stalker
Profil
Tak vyřešeno i bez použití display table s table-cell. Funkčnost IE8+

Řešení: http://jsfiddle.net/t8KZX/
Plaváček
Profil
Stalker:

Pěkná opičárna. :) Aneb jak věci jednoduché dělat složitě.
Stalker
Profil
Plaváček:
Sám bych si takovou opičárnu nevymyslel :) Ale jak jinak to obejít, když nemůžu použít table a table-cell?
Plaváček
Profil
Stalker:

Uniká mi důvod, proč nemůžeš použít table a table-cell. Můžeš mi to objasnit?
Bubák
Profil
Pokud je důvodem nepodpora table-cell v IE 7, tak řešení http://jsfiddle.net/t8KZX/ na tom není lépe kvůli použití :before.
Než takovou opičárnu, použil bych opravdovou tabulku, ale čisté řešení je s table-cell.
Stalker
Profil
[#10] Plaváček
Protože obalovací element má position relative. To je tak jediný důvod, proč nechci(nemůžu) použít display table.

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: