swah.net


index - xhtml - XML deklarace v XHTML a quirk mód

Twitter:

  • swah: O víkendu jsme byli na Karamazových a odcházel jsem z Aera nadšen. Přispěl k tomu i milý fakt, že se diváci začali zvedat až po titulcích. 18.08. Přejít na příspěvek Přidat na Google Přidat na Linkuj Přidat na Jagg Přidat na Del.icio.us Přidat na Digg
  • swah: Dnes se udál další velký milník v mé podnikatelské kariéře - pořídil jsem si frajerskou samolepící nástěnku. Jak asi dlouho bude samolepit. 14.08. Přejít na příspěvek Přidat na Google Přidat na Linkuj Přidat na Jagg Přidat na Del.icio.us Přidat na Digg
  • swah: Konečně se objevila alternativa pro synchronizaci záložek Firefoxu 3 vycházející dokonce z původního rozšíření viz http://jdem.cz/acbq5 12.08. Přejít na příspěvek Přidat na Google Přidat na Linkuj Přidat na Jagg Přidat na Del.icio.us Přidat na Digg

XML deklarace v XHTML a quirk mód

Určitě jste se už s XML deklarací při kódování webů setkali. Někteří webdesignéři a weby pečlivě nakódované je v kódu mají, někteří ne. Poslední dobou je to také časté diskuzní téma, tak se pokusím tuto problematiku trochu shrnout a vysvětlit. XML deklarace definuje verzi a to překvapivě XML se kterou je/má být kompatibilní. Doplněna bývá také více než často kódováním.

Proč používat XML deklaraci? Jedním z důvodů bude určitě i modernost podpořená fámou, že čím více "věcí" před a v hlavičce, o to více frajerský web. Dalším bude určitě validita, i když validátor, pokud vím, nehlásí chybějící deklaraci jako chybu. Zajímavým důvodem/výsledkem XML deklarace je také přepnutí jednoho z nejrozšířenějších prohlížečů Internet Exploreru 6, do nestandartního tzv. quirk módu, o kterém ale později.

XML deklarace spolu s kódováním vypadá takto:
<?xml version="1.0" encoding="windows-1250"?>

Záměrně jsem nechal kódování, které by se mimochodem mělo shodovat s kódováním v hlavičce v meta-tagu Content-type, windows-1250, jelikož např. moderní unicode UTF-8 XML deklaraci striktně nevyžaduje, nemusí se tedy v případě dokumentu kódovaném v UTF-8 vůbec psát, takže jinými slovy by se měla XML deklarace používat vždy, pokud nepoužívate pro kódování UTF-8. Spousta lidí má často problém se zápisem deklarace, pokud ukládají dokument s příponou *.php, protože deklarace vypadá díky začátku zápisu <? jako PHP skript. V tomto případě nám pomůže, když si deklaraci vypíše PHP echem:

<?php echo '<?xml version="1.0" encoding="windows-1250"?>' ?>
Existuje spoustu možností, stačí si vybrat, tuto považuji za nejprimitivnější.

Stinná stránka věci přichází v případě Internet Exploreru 6 (nejsem si jistý, jestli neumí módy přepínat i IE 5.5). Ten, pokud se mu dostane do pazour dokument s XML deklarací okamžitě přepíná do tzv. quirk módu (stejně tak, pokud chybí DOCTYPE) ve kterém rozdílně interpretuje některé vlastnosti. Chybami jsou zobrazování rozměrů u řádkových elementů jako např. span, velikost písma je o stupeň větší a špatně zobrazuje rozměry blokových prvků - např. započítávání rámu (border) do konečné šířky, čímž je pak blok užší atd. Jedinými řešeními je s těmito věcmi počítat a oddělit stylopis pro IE např. pomocí podmíněných komentářů nebo ve vlastnostech použít podtržítkového hacku, který je ale nevalidní nebo použít tzv. CSS hack, kdy se zapisuje hodnota vlastnosti v uvozovkách, např. width: "100px". IE v quirk módu tento nesprávný zápis vezme a hlavně mů dát přednost před syntakticky správným zápisem bez uvozovek.

kalendar 23.03.2007, 18:24

dumpGravatar komentoval(a) 11.08.2007, 03:45

Problem s Internet Explorerem se da dobre resit pres .htaccess. Uvedu priklad tohoto souboru ktery zobrazi specialne optimalizovanou stranku pro tento tak rozsireny prohlizec.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} .*MSIE.*
RewriteRule ^.*$ http://airdump.net/msie.php [L]

RewriteRule ^(.*)$ $1 [L]

swah Gravatar komentoval(a) 14.08.2007, 22:17

dump: Nabádání uživatelů k používání "moderních" prohlížečů nevidím jako zrovna šťastné řešení, už pro to, že se jedná o tolik rozšířený prohlížeč, jak jsi sám uvedl. Velmi málo uživatelů začne díky tvému doporučení stahovat jiný prohlížeč, aby si v něm tvé stránky zobrazili. Jednoduše stačí IE do quirku nepřepínat, když není člověk zyvklý mu přizpůsobovat stylopis.

Napište komentář

:

:

SnizitZvysit

:


3 + 5 =

Pravidla pro psaní příspěvků

  • Je-li to možné, vyjadřujte svůj názor slušně a pokud možno diakritikou
  • Gravatary (obrázky u komentářů) získáte po vyplnění e-mailové adresy a registraci na gravatar.com
  • HTML tagy nejsou povoleny, Enter = skok na další řádek
  • * značí povinné položky


© 2005 - 2008 | swah.net | všechna práva vyhrazena | archív | Přihlásit
xhtml 1.0 strict | css 2.1 | prohlášení o přístupnosti | od 1.8.05 - přístupů