Autor Zpráva
Smile
Profil
Dobrý den,
rád bych poprosil o pomoc s vyladěním stránky v prohlížeči Internet Explorer. V chrome, mozille i opeře se web zobrazuje tak jak má, problém mám pouze v IE. Jedná se o tento web. A zde je odkaz na css.

Budu vděčný za každou radu, děkuji.
jenikkozak
Profil
Nezkoumal jsem to úplně do detailů, ale mělo by ti pomoci, když budeš v IE používat standardní mód.
Trejpa
Profil
Smile:
Standardní mód zapneš vhodným doctype na začátku zdrojového kódu. Můžeš použít kratší <!DOCTYPE HTML> nebo ponechat to, co tam máš. Hlavně ho musíš přesunout na začátek. To uděláš tak, že smažeš aspoň jeden ze dvou BOMů, které jsou před ním, klidně oba. Pokud už používáš BOM, tak věz, že na začátek souboru patří nejvýše jeden a jinam už další nepatří.
Smile
Profil
Tak sem to přepsal pouze na <!DOCTYPE HTML>, ale bohužel se nic nezměnilo.

Trejpa:
Omlouvám se, ale nejsem si jist, co tím myslíte. Nejsem moc zběhlý, co se podobných věcí týče, pracoval jsem se šablonou, kterou jsem upravoval pouze v css.
_es
Profil
Smile:
Nejčastější potíže s PHP (FAQ) » Divný znak (čtvereček) na začátku includovaného souboru v UTF-8
Trejpa
Profil
Smile:
BOM jsou identifikační byty kódování UTF, které na začátek souborů vkládá editor kódu, třeba Poznámkový blok. Při dalším otevření podle nich editor pozná druh kódování UTF, jestli je to UTF-8, UTF-16LE, UTF-16BE a podobně. I když i podle tohoto může webová stránka poznávat kódování souboru, není BOM u UTF-8 potřeba a kódování se uvede ve značce <meta>. (Následující můžeš ignorovat: Pravé XHTML soubory kódování nepřebírají z <meta>, ale řídí se XML doporučením, tedy výchozí kódování je UTF-8, jinak podle XML deklarace. Naštěstí ty pravé XHTML nepoužíváš.)

A teď k jádru problému. Tvůj kód je pomocí PHP poskládán z několika souborů. Každý z nich má BOM. Když se pomocí include složí dohromady, má výsledný soubor více BOMů. A to je špatně. Prohlížeče umí použít a schovat pouze první BOM na začátku stránky. Ostatní BOMy interpretují jako textové znaky a v konečném zobrazení často představují mezeru, která může i vytvářet nový řádek. Takže prohlížeče vidí začátek souboru takto: Začátek souboru … BOM (ok) … nějaký znak (druhý BOM), takže ho zobrazíme a vytvoříme pro něj element BODY … <!DOCTYPE> (ale to je chyba - nemůže být doctype v body, takže zotavování z chyb) a tím není doctype na začátku souboru, takže IE zapíná kompatibilní režim.

Řešením je v editoru vypnout zadávání BOMu (identifikační byty v kódování UTF-8) a všechny soubory uložit znova. Chybějící BOM na začátku nevadí. Přebývající BOM kdekoliv může způsobit problémy.

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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