Ħalli barra d-Doctype biex Poġġi l-Browsers fis-Mod ta 'Quirks
Jekk inti kont qed tfassal paġni tal-web għal aktar minn ftit xhur, x'aktarx tkun taf bid-diffikultà bil-miktub ta 'paġna li tidher l-istess fil-browsers kollha . Fil-fatt, dak huwa impossibbli. Bosta browsers kienu miktuba b'karatteristiċi speċjali li huma biss jistgħu jimmaniġġjaw. Jew għandhom modi speċjali biex jittrattaw affarijiet li huma differenti minn kif browsers oħra jimmaniġġjawhom. Pereżempju:
- Ġew maħluqa saffi għall-użu fil-browsers tan-Netscape. Ma jaħdmux f'xi browser ieħor, u fil-fatt ġew deprezzati f'Netscape 6.x +.
- Frejms inline oriġinarjament ġew maħluqa għall-Internet Explorer biss, u minn dakinhar saru parti mill-ispeċifikazzjoni HTML.
- Internet Explorer 6.0 iżżid spazju addizzjonali (bħal
) tikketti tal-madwar, sakemm ma tiktebx il-kontenut tad-div kollha fuq linja waħda (twila). (IE 6 għandu ħafna aktar karatteristiċi kif ukoll dan wieħed). - Netscpe 4.7 ma jurix tabelli li mhumiex miktuba b'HTML korretti - minflok juri paġna vojta. Dan ġie ffissat fin-Netscape 6.
Il-problema għall-iżviluppaturi tal-brawżers hija li għandhom joħolqu web browsers li huma lura kompatibbli ma 'paġni tal-web mibnija għal browsers anzjani. Sabiex titratta din il-kwistjoni, dawk li jfasslu l-brawżer ħolqu modi biex il-browsers joperaw. Dawn il-modi huma definiti bil-preżenza jew in-nuqqas ta 'element DOCTYPE u dak li d-DOCTYPE jitlob.
DOCTYPE Qlib u "Modalità Quirks"
Jekk tpoġġi d-DOCTYPE li ġejja fil-paġna web tiegħek:
Browsers moderni (Android 1+, Chrome 1+, IE 6+, iOS 1+, Firefox 1+, Netscape 6+, Opera 6+, Safari 1+) jinterpretaw dan il-mod kif ġej:
- Minħabba li hemm dokument DOCTYPE korrett, dan iqanqal il-modalità ta 'l-istandards.
- Huwa dokument HTML 4.01 Transizzjonali
- Minħabba li huwa fil-modalità ta 'l-istandards, bosta browsers jagħmlu l-kontenut konformi (jew l-aktar konformi) ma' l-HTML 4.01 Transitional
U jekk tpoġġi dan DOCTYPE fid-dokument tiegħek:
Dan jgħidlekx browsers moderni li inti tixtieq li turi l-paġna HTML 4.01 tiegħek f'konformità stretta mad-DTD.
Dawn il-browsers se jidħlu f'modalità "stretta" jew "standard" u jirrendu l-paġna f'konformità mal-istandards. (Allura, għal dan id-dokument, tags bħal ma jistgħu jiġu injorati kompletament mill-browser, minħabba li l-element FONT ġie depravat f'HTML 4.01 Strict.)
Jekk titlaq kompletament id-DOCTYPE, il-browsers huma awtomatikament mibdija f'modalità "quirks".
It-tabella ta 'hawn taħt turi x'jagħmlu l-browsers komuni meta jiġu ppreżentati b'dikjarazzjonijiet komuni differenti ta' DOCTYPE.
Microsoft tagħmilha aktar diffiċli
Internet Explorer 6 għandu wkoll il-karatteristika li jekk tpoġġi xejn fuq id-dikjarazzjoni DOCTYPE, dawn se jidħlu fil-modalità ta 'quirks. Għalhekk, dawn iż-żewġ eżempji se jpoġġu l-IE 6 f'modalità ta 'tfakkir, għalkemm id-dikjarazzjonijiet DOCTYPE jgħidu li huma fi standards stretti mod:
u l-XHTML 1.1 DOCTYPE:
Barra minn hekk, jekk ikollok passat IE6, imbagħad ikollok il- "karatteristika" li Microsoft żiedet f'IE8 u IE9: META element switching u blacklisting tal-websajt. Fil-fatt, dawn iż-żewġ verżjonijiet tal-browser issa għandhom sa seba '(!) Modi differenti:
- IE 5.5 quirks mode (IE 8 u 9)
- Modalità ta 'l-istandards IE 7 (IE 8 u 9)
- IE 8 modalità ta 'kważi standards (IE 8 u 9)
- IE 8 standards mode (IE 8 u 9)
- IE 9 modalità ta 'kważi standards (IE 9)
- Modalità ta 'l-istandards IE 9 (IE 9)
- Modalità XML (IE 9)
IE 8 introduċa wkoll "Modalità ta 'Kompatibilità" fejn l-utent jista' jagħżel li jibdel il-mudell tar-rappreżentazzjoni lura għall-modalità IE 7. Allura li anki jekk issettja l-mod li trid issettja billi tuża kemm l-elementi DOCTYPE u META, il-paġna tiegħek tista ' xorta tiġi mbuttata lura f'modalità inqas konformi mal-istandards.
X'inhu Quirks Mode?
Il-modalità Quirks ġiet maħluqa biex tgħin fit-trattament ta 'l-appoġġ tal-browser u tal-brawżjar mhux konformi u l-hacks li l-web disinjaturi kienu qed jużaw biex jittrattaw dawk l-affarijiet. It-tħassib li l-manifatturi tal-brawżers kien li kieku qalbu l-browsers tagħhom għall-konformità sħiħa tal-ispeċifikazzjoni, id-disinjaturi tal-web jitħallew lura.
Bit-twaqqif ta 'swiċċjar DOCTYPE u "Quirks Mode" dan id-disinjaturi tal-web permessi jagħżlu kif riedu li l-browsers jirrendu l-HTML tagħhom.
Effetti tal-Modi ta 'Quirks
Hemm bosta effetti li l-biċċa l-kbira tal-browsers jużaw f'Quks Mode:
- F'xi browsers, il-mudell tal-kaxxa jibdel il-verżjoni IE 5.5 tal-mudell tal-kaxxa fil-modalità quirks.
- Xi browsers ma jirtux stili f'tabelli
- Il-modalità Quirks taffettwa l-analiżi tal-format CSS u CSS b'mod drammatiku, jekk inti tikkonverti paġni għall-modalità tal-istandards mill-modalità quirks, kun żgur li tittestja t-tqassim tas-CSS tiegħek u teżamina b'mod estensiv.
- Iċċekkja bidliet għal kitba meta tkun fil-mod quirks. Firefox jibdel il-mod kif taħdem l-attribut id, pereżempju. IE8 u IE9 għandhom bidliet drammatiċi ħafna għall-kitba fil-modalità quirks.
Hemm ukoll differenza fil- "Kważi l-Istandards Mode:"
- L-għoli ta 'ċelluli tal-mejda b'immaġnijiet biss ġewwa huwa kkalkulat b'mod differenti mill-modalità ta' l-istandards.
Kif Agħżel DOCTYPE
Nidħol f'aktar dettall fl-artiklu tiegħi Lista DOCTYPE, imma hawn huma xi regoli ġenerali ta 'thumb:
- Dejjem jagħżlu l-ewwel mod ta 'l-istandards U l-istandard attwali li għandek tuża huwa HTML5: Sakemm ma jkollokx raġuni speċifika biex tevita li tuża l-HTML5 DOCTYPE, dan huwa dak li għandek tuża.
- Mur fl-HTML 4.01 stretta jekk ikollok bżonn tivvalida elementi ta 'legat jew trid tevita karatteristiċi ġodda għal xi raġuni:
- Jekk ikollok imqatta 'immaġini f'tabella u ma tridx li tiffissahom, mur' Transitional HTML 4.01:
- Ma jiktbux il-paġni deliberatament fil-modalità ta 'quirks. Dejjem uża DOCTYPE. Dan jiffrankalek fuq il-ħin ta 'l-iżvilupp fil-futur, u verament ma jkollux benefiċċju. IE6 qed titlef il-popolarità b'mod mgħaġġel u billi jiddisinja għal dan il-browser (li essenzjalment huwa dak li qed tfassal b'mod quirks) qed illimita lilek innifsek, lill-qarrejja tiegħek u lill-paġni tiegħek. Jekk trid tikteb għal IE 6 jew 7, imbagħad tuża kummenti kondizzjonali biex tappoġġjahom, aktar milli tefgħet il-browsers moderni fil-modalità ta 'quirks.
Għaliex Uża DOCTYPE
Ladarba tkun konxju ta 'dan it-tip ta' swiċċ DOCTYPE għaddej, tista 'taffettwa l-paġni web tiegħek b'mod aktar dirett billi tuża DOCTYPE li tindika dak li l-browser jista' jistenna mill-paġna tiegħek. Ukoll, ladarba tibda tuża DOCTYPE, inti tkun qed tikteb HTML li hija eqreb li tkun valida (xorta għandek tivvalidaha). U billi tikteb XHTML validu, tħeġġeġ lil min ifassal il-brawżer biex jibni standards browsers konformi.
Versjonijiet tal-Browser u Modalità ta 'Quirks
DOCTYPE | Android Chrome Firefox IE 8+ iOS Opera 7.5+ Safari | IE 6 IE 7 Opera 7 | Netscape 6 |
---|---|---|---|
Xejn | Quirks Mode | Quirks Mode | Quirks Mode |
HTML 3.2 | |||
Quirks Mode | Quirks Mode | Quirks Mode | |
HTML 4.01 | |||
Tranżitorja | Modalità ta 'Standards * | Modalità ta 'Standards * | Modalità tal-Istandards |
Tranżitorja | Quirks Mode | Quirks Mode | Quirks Mode |
Stretti | Modalità tal-Istandards | Modalità ta 'Standards * | Modalità tal-Istandards |
Stretti | Modalità tal-Istandards | Modalità ta 'Standards * | Modalità tal-Istandards |
HTML5 | |||
Modalità tal-Istandards | Modalità ta 'Standards * | Quirks Mode | |
* B'din id-DOCTYPE, il-browsers huma qrib l-istandards li jikkonformaw, iżda għandhom xi kwistjonijiet - kun żgur li jittestjaw. Dan huwa magħruf ukoll bħala "Kważi l-Istandards Mode". |