21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
« 1 2
Autor Zpráva
Dero
Profil
Problémy ve vykreslování mezi prohlížeči závisí na druhu doctypu jen velice málo

Znáš vůbec nějaký? XHTML 1.0 Strict i Trans mi hodí prohlížeče do standardu. Neznám asi takový bug, který by se projevoval pouze při použití Strict (nebo naopak). Nedávalo by to ani smysl.

Jen se ptám, protože mě tohle téma zajímá.
Chamurappi
Profil
Reaguji na tajneho spiona:
Nestačilo by přečíst si popisy chybových hlášek? Myslíš, že každý uživatel validátoru běhá hned na diskusní fórum? Existují i lidé, kteří validováním svého webu stráví dva dny (i když jen čtyři hodiny denně), aniž by se někde ptali, a stáhnou při tom počet chyb ze tří set na nulu. Pak je druhý extrém — k tomu máš blíže ty.

Jasan, jenze ta nova orezana jde ve vsech prohlizecich skoro stejne, zatimco jeji mamka tezko
To je nesmysl. Platí pravý opak, Strict DTD neodpovídá pohledu prohlížečů. Názorný (nevalidní) příklad:
<!doctype body public "-//W3C//DTD HTML 4.01//EN">

<p> Něco
<menu> <li>a <li>b <li>c </menu>
Podstavec </p>
— Element <menu> při této DTD podle validátoru neexistuje, takže se <p> neukončí a podstavec je uvnitř odstavce. Validátor tedy vidí: Element <menu> není definován.
— Jenže totéž <menu> prohlížeče (nevalidující) znají a <p> se ukončí, protože <menu> nesmí být v <p> (viz pravidla HTML). Prohlížeč tedy vidí: Ukončovací značka pro element "P", který není otevřen. Což mu teda nevadí. Ale kdybys pozadí odstavce obarvil, viděl bys, že zůstane podstavec nepodbarvený.
Zastávám názor, že má-li mít kontrola kódu smysl, měla by se provádět za stejných podmínek, které jsou v prohlížečích. Takže z dostupných DTD HTML 4.01 hlasuji pro Transitional (nebo pro RDFa, kterou nenápadně vyrobili před třinácti dny). Ona i ta „větší čistota“ Strictu je sporná.

Jiná věc jsou vykreslovací režimy. Často se míchají dohromady s validitou, ale souvisí jen s <!doctype> deklarací. Při Transitional DTD lze mít jak quirk režim, tak standardní. V obou režimech se výrobci prohlížečů snaží být vzájemně kompatibilní se svými soky, tudíž třeba i můj web neobsahující <!doctype> může fungovat spolehlivě.


Reaguji na Bubáka:
Jedna "stará plná", druhá "nová ořezaná". Která je "lepší"?
Transitional DTD obsahuje spoustu věcí, které v HTML 3.2 nebyly — třeba zrovna atribut target a element <iframe>.

Vím, že jsem mnohé velmi zjednodušil, nemusíte mi to říkat.
Aha. Hm. To jsem si přečetl trochu pozdě a královské slovo nejde vzít zpět. Nechci, aby můj rod vymřel po backspacu.
habendorf
Profil
Railbot, Dero Proto to moje "heh". Taky nevím o žádných vykreslovacích rozdílnostech.
tajny spion
Profil
Chamurappi
Ja uz jsem z toho blbej. Nekde pisou to, jinde ono, nekde rikaj tohle, jinde tamto. Muj nazor ale je, ze ten prasackej kod cos napsal by se ve zdrojaku nemel vubec vyskytovat. A jak jsi sam napsal, Transitional to dovoluje, kdezto Strict ne. Z toho vyplyva ze kdyz mas Strict, nenapises pisovinu. Je to tak?
Manq
Profil
tajny spion
Napsat ji můžeš, ale nebude validní.
tajny spion
Profil
Manq
A kdo kouka na validator, vyladi si to a tim padem to bude validni i v Strict i v Transitional. Nemam zase pravdu? :D
Railbot
Profil
tajny spion
Nepoužívej striktní dotype, protože tam není <menu> a bez toho se jen těžko obejdeš... :)
Chamurappi
Profil
Reaguji na tajneho spiona:
Ja uz jsem z toho blbej.
Vykašli se na validátor a máš klid.

Nekde pisou to, jinde ono, nekde rikaj tohle, jinde tamto.
Někde tomu nerozumí, někde ano, někde něco protlačují, jinde ne. To je docela normální ve všech oborech.

Muj nazor ale je, ze ten prasackej kod cos napsal ...
Mírni slovník, nic strašného jsem neprovedl, nadbytečné </p> není prasárna.

A jak jsi sam napsal, Transitional to dovoluje, kdezto Strict ne
Ne, to jsem opravdu nenapsal. Transitional to také nedovoluje, jen ti při něm validátor najde stejnou chybu, jakou vnímají prohlížeče, takže se jednodušeji ladí.

Z toho vyplyva ze kdyz mas Strict, nenapises pisovinu.
Strict se od Transitionalu liší jen tím, že nedovoluje třetinu prezentačních elementů, hromadu prezentačních atributů a několik užitečných věcí (<menu>, <iframe>, target). Jestli tedy používáš <font> a <center> a potřebuješ nutně vidět zákaz od validátoru, tak si zůstaň u Strictu.

Mimochodem, nejpřísnější HTML DTD je ISO/IEC 15445:2000.
Keilew
Profil
habendorf
5) Navíc je často požadavkem zákázníka "no id-driven css due to ASP.NET"
Trošku nesmysl. Nikdo ti nebrání si id unikátně prefixovat.
Ni7R0
Profil
Dero
Znáš vůbec nějaký? XHTML 1.0 Strict i Trans mi hodí prohlížeče do standardu. Neznám asi takový bug, který by se projevoval pouze při použití Strict (nebo naopak). Nedávalo by to ani smysl.

Nic konkrétního jmenovat nemůžu, ale jsem si téměř jistý, že s XHTML 1.0 Strict a Transitional nebudou všechny browsery ve standard mode. A pokud používáte i XML deklaraci na začátku dokumentu, IE 6 pojede v obou případech v quirks mode (to jsem kdysi nevěděl a při hledání chyby mě to málem dovedlo k šílenství).
Dero
Profil
Nic konkrétního jmenovat nemůžu, ale jsem si téměř jistý, že s XHTML 1.0 Strict a Transitional nebudou všechny browsery ve standard mode.

Máte pravdu, některé prohlížeče mód standardní a zpětně kompatibilní nerozlišují.

A pokud používáte i XML deklaraci na začátku dokumentu, IE 6 pojede v obou případech v quirks mode (to jsem kdysi nevěděl a při hledání chyby mě to málem dovedlo k šílenství).

Nebo pokud DOCTYPE předchází jakákoliv jiná data.

To však racio mého argumentu. Je jedno, do jakého módu se prohlížeče přepnout. Důležité je, že to bude do toho samého. Bavíme se tu o praktických rozdílech mezi používáním dvou různých DOCTYPE.
habendorf
Profil
Keilew

5) Navíc je často požadavkem zákázníka "no id-driven css due to ASP.NET"
Trošku nesmysl. Nikdo ti nebrání si id unikátně prefixovat.


Ale houby, nepochopil jsi. Jde o to, že potřebují mít volné ruce pro používání vlastních id. A přece bys nechtěl dávat více id jednomu prvku ...
Keilew
Profil
habendorf
Ale to se týká především formulářů, ne?;-)
habendorf
Profil
Keilew

Hele, já nevím :o)
Prostě požadavek některých klientů je "no id-driven css" a oni platí, takže o tom moc nešpekuluju. Chtějí to mít, mají to mít :o)
Keilew
Profil
habendorf
OK, už mlčím:-)
« 1 2

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0