Autor Zpráva
stencek
Profil
Dobrý den,

řeším pro mě dosti nepochopitelný problém. Měl jsem stránky, které používají trik z One True Layout (equalheight). Dokud jsem měl stránky v kódování iso-8859-2, tak jsem s ničím neměl problém a vše se vykreslovalo dobře (i v IE). Po přechodu na UTF8 však nastaly problémy v IE6. Najednou přestal fungovat trik z One True Layout pro srovnání výšky sloupců (a zajištění tak protáhnutí pozadí).

Adresa stránek - http://www.projekty.c3studio.cz/ie-bug/.

"Chyba" je pak na řádcích 94 a 95 v souboru style.css:
padding-bottom: 20010px;
margin-bottom: -20000px;


Po jejich odmazání se IE umoudří, ale již nefunguje trik z One True Layout (srovná výšky sloupců).
Pokud však na stránce ručně změníte kódování z UTF8 na cokoliv jiného (ISO-8859-2, win1250), tak se layout spraví.

Může mi někdo vysvětlit, proč se tohle děje a jak se tomu lze vyhnout?

Jen dodám, že stránky schazuju do quirk režimu pomocí prvního řádku <!-- -->.

Díky Jirka
Chamurappi
Profil
Reaguji na stenceka:
Zkus smazat ten CSS komentář na řádku 94, případně z něj odstranit diakritiku.

Prohlížeče předpokládají, že stylopis používá stejné kódování jako stránka, v tvém případě tedy UTF-8. Znaky s diakritikou způsobí, že parser Exploreru požere pár následujících bytů, aby z nich zkusil sestavit znak. Může ti tedy sežrat hvězdičku ukončující komentář.

stránky schazuju do quirk režimu pomocí prvního řádku <!-- -->.
To jde zapsat i stručněji jako <!>.
stencek
Profil
Chamurappi
Moc děkuju, zrovna za tvou odpověď jsem se tajně modlil!

Už to funguje..
rdd
Profil
Chamurappi> Mohl bych se zeptat na nejaky podrobnosti shozeni do quirku jenom pomoci <!>, jeste sem to nevidel.
stencek
Profil
rdd
myslím, že tady najdeš to, co hledáš ..
Chamurappi
Profil
Reaguji na rdd:
V HTML je <!> docela obyčejný a zcelá prázdný komentář. Žádné velké podrobnosti o něm neznám.
rdd
Profil
Nevedel jsem, ze je moznej zapis i bez minusu. Zajimavy, dik za rozsireni obzoru.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0