Skip to main content

Het DOCTYPE-element gebruiken in de Quirks-modus

doctype in HTML 5 (April 2025)

doctype in HTML 5 (April 2025)
Anonim

Als u al meer dan een paar maanden webpagina's ontwerpt, weet u waarschijnlijk dat het moeilijk is om een ​​pagina te schrijven die er in alle browsers hetzelfde uitziet. In feite is dat onmogelijk. Veel browsers zijn geschreven met speciale functies die alleen zij aankonden. Of ze hebben speciale manieren om dingen af ​​te handelen die anders zijn dan hoe andere browsers ermee omgaan. Bijvoorbeeld:

  • Lagen zijn gemaakt voor gebruik in Netscape-browsers. Ze werken niet in een andere browser en zijn in feite verouderd in Netscape 6.x +.
  • Inline-frames zijn oorspronkelijk alleen gemaakt voor Internet Explorer en zijn sindsdien onderdeel geworden van de HTML-specificatie.
  • Internet Explorer 6.0 voegt een extra spatie toe (zoals een) omringende tags, tenzij u de inhoud van de div allemaal op één (lange) regel schrijft. (IE 6 heeft nog veel meer eigenaardigheden en deze.)
  • Netscpe 4.7 geeft geen tabellen weer die niet in de juiste HTML zijn geschreven; in plaats daarvan wordt een blanco pagina weergegeven. Dit is opgelost in Netscape 6.

Het probleem voor browserontwikkelaars is dat ze webbrowsers moeten maken die achterwaarts compatibel zijn met webpagina's die zijn gemaakt voor oudere browsers. Om dit probleem op te lossen, hebben browsermakers modi gemaakt waarmee de browsers kunnen werken. Deze modi worden gedefinieerd door de aanwezigheid of afwezigheid van een DOCTYPE-element en wat dat betreft DOCTYPE noemt.

DOCTYPE

Ik ga in meer detail in mijn artikel DOCTYPELijst, maar hier zijn enkele algemene vuistregels:

  1. Kies altijd eerst de standaardenmodus. En de huidige standaard die u zou moeten gebruiken, is HTML5: tenzij u een specifieke reden hebt om het gebruik van de HTML5 te vermijden DOCTYPE, dit is wat je zou moeten gebruiken.
  2. Ga naar strikte HTML 4.01 als u oude elementen wilt valideren of als u om een ​​andere reden nieuwe functies wilt vermijden:
  3. Als je afbeeldingen in een tabel hebt gesneden en ze niet wilt herstellen, ga je naar Transitional HTML 4.01:
  4. Schrijf geen pagina's opzettelijk in de quirks-modus. Gebruik altijd een DOCTYPE. Dit zal u in de toekomst besparen op ontwikkelingstijd en heeft echt geen voordeel. IE6 verliest snel aan populariteit en door te ontwerpen voor deze browser (wat in wezen is wat ontwerpen in eigenaardigheden-modus is) beperk je jezelf, je lezers en je pagina's. Als je moet schrijven voor IE 6 of 7, gebruik dan voorwaardelijke opmerkingen om ze te ondersteunen in plaats van moderne browsers in de quirks-modus te dwingen.

Waarom gebruiken DOCTYPE

Zodra je je bewust bent van dit soort DOCTYPE Als u overschakelt, kunt u uw webpagina's directer beïnvloeden door a te gebruiken DOCTYPE dat geeft aan wat de browser van uw pagina mag verwachten. Ook als je eenmaal begint te gebruiken DOCTYPE, zult u HTML schrijven die dichterbij geldig is (u zou het nog steeds moeten valideren). En door geldige XHTML te schrijven, moedig je browsermakers aan om browsers die voldoen aan de standaarden te bouwen.

Browserversies en Quirks-modus

DOCTYPEAndroidChromeFirefoxIE 8+iOSOpera 7.5+SafariIE 6IE 7Opera 7Netscape 6
GeenQuirks-modusQuirks-modusQuirks-modus
HTML 3.2
Quirks-modusQuirks-modusQuirks-modus
HTML 4.01
overgangsStandaardenmodus *Standaardenmodus *Standaardenmodus
overgangsQuirks-modusQuirks-modusQuirks-modus
strengStandaardenmodusStandaardenmodus *Standaardenmodus
strengStandaardenmodusStandaardenmodus *Standaardenmodus
HTML5
StandaardenmodusStandaardenmodus *Quirks-modus
* Met deze DOCTYPE zijn browsers bijna conform aan de standaarden, maar ze hebben enkele problemen - test ze zeker. Dit staat ook bekend als "Bijna-standaardmodus".