Vygumovaný Explorer :: Weblog Letem světemArchiv weblogu Letem světem z let 2002-2003
Kombinace pozadí, obtékání a clear dělá chybu v Internet Exploreru -- způsobí, že se část textu nezobrazí, ačkoliv na stránce ten text je. Objeví se, když prázdnou oblast označíte myší. Text mizí v tom případě, že je pod ním pozadí, vedle něj je něco obtékaného a pod ním něco, co má nastaveno clear. No a samozřejmě na to musíte koukat Explorerem.
Občas jsem tu chybu potkával. První řešení mi prozradil Chose: rodičovskému prvku dej position: relative
. To fungovalo. Když nefungovalo, přidalo se position: relative i do dalších prvků. Považoval jsem to za velké protikouzlo vůči temné magii Internet Exploreru.
Další řešení přinesl nedávno Roman Pichlik v Dagblogu. Jde přímo ke kořenu problému -- Explorer si totiž oblast s pozadím vypočítá až po té, co do ní zapíše text. Takže text je jakoby pod pozadím. Dagi napsal jednoduchý javaskript, kterým donutí prohlížeč, aby celou oblast ještě jednou překreslil.
Včera se s tímtéž problémem utkal Daniel Dočekal. Na pooh.cz uvedl příklad chybného HTML kódu a poprosil o radu. Dostal ji od Marka Prokopa. Další možné řešení spočívá v tom, že se nadřazenému prvku nastaví explicitní šířka, např. 100%.
Nakonec Víťa v diskusi na pooh.cz přihodil odkaz na komplextní pojetí problematiky v angličtině. Na jeho konci jsou zmiňována možná řešení. Nejvíc se mi líbí to první: Keep the clearing div from touching the float, or avoid using a background on div#floatholder. Not exactly ideal, I know.
Volně přeloženo do lidštiny: udělejte to HTML jinak. Jak prosté!
20.8.2003 | 0:52 | přidal Yuhů
přidáno 20.8.2003 v 22:18
přidáno 24.8.2003 v 23:35
Weblog byl vytvářen publikačním systémem b2. Veškeré texty z archivu mohou jsou volně použitelné.