Om du har utformat webbsidor i mer än ett par månader är du troligtvis medveten om svårigheten att skriva en sida som liknar alla webbläsare. I själva verket är det omöjligt. Många webbläsare skrevs med specialfunktioner som endast de kunde hantera. Eller de har speciella sätt att hantera saker som skiljer sig från hur andra webbläsare hanterar dem. Till exempel:
- Lager skapades för användning i Netscape-webbläsare. De fungerar inte i någon annan webbläsare och har faktiskt avlägsnats i Netscape 6.x +.
- Inline-ramar skapades ursprungligen endast för Internet Explorer och har sedan dess blivit en del av HTML-specifikationen.
- Internet Explorer 6.0 lägger till ett extra utrymme (som a) omgivande taggar, om du inte skriver innehållet i div-delen på en (lång) rad. (IE 6 har många fler quirks samt den här.)
- Netscpe 4.7 visar inte tabeller som inte är skrivna i rätt HTML - det visar en tom sida istället. Detta fixades i Netscape 6.
Problemet med webbläsarutvecklare är att de måste skapa webbläsare som är bakåtkompatibla med webbsidor som är inbyggda för äldre webbläsare. För att hantera det här problemet skapade webbläsare tillverkningslägen för att webbläsarna ska fungera. Dessa lägen definieras av närvaro eller frånvaro av ett DOCTYPE-element och vad det DOCTYPE samtal.
DOCTYPE
Jag går in i mer detalj i min artikel DOCTYPELista, men här är några allmänna tumregler:
- Välj alltid standardläget först. Och den nuvarande standarden du ska använda är HTML5: Om du inte har en specifik anledning att undvika att använda HTML5
DOCTYPE, det här är vad du ska använda. - Gå till strikt HTML 4.01 om du behöver validera äldre element eller vill undvika nya funktioner av någon anledning:
- Om du har skivade bilder i ett bord och inte vill fixa dem, gå till Övergångs HTML 1.1:
- Skriv inte sidor medvetet i quirks-läge. Använd alltid a
DOCTYPE. Detta kommer att spara dig på utvecklingstiden i framtiden, och har verkligen ingen fördel. IE6 förlorar snabbt popularitet och genom att designa för den här webbläsaren (vilket är i huvudsak vad designen i quirks-läge är) begränsar du dig själv, dina läsare och dina sidor. Om du måste skriva för IE 6 eller 7, använd sedan villkorliga kommentarer för att stödja dem, istället för att tvinga moderna webbläsare till quirks-läge.
Varför använda DOCTYPE
När du är medveten om denna typ av DOCTYPE Om du fortsätter kan du påverka dina webbsidor mer direkt genom att använda en DOCTYPE som indikerar vad webbläsaren kan förvänta sig från din sida. Också, när du börjar använda DOCTYPE, du skriver HTML som är närmare att vara giltig (du borde fortfarande validera den). Och genom att skriva giltig XHTML uppmanar du webbläsare att bygga standarder som är kompatibla med webbläsare.
Webbläsarversioner och quirks-läge
DOCTYPE | AndroidKromFirefoxIE 8+iOSOpera 7.5+Safari | IE 6IE 7Opera 7 | Netscape 6 |
|---|---|---|---|
| Ingen | Quirks Mode | Quirks Mode | Quirks Mode |
| HTML 3.2 | |||
| Quirks Mode | Quirks Mode | Quirks Mode | |
| HTML 4.01 | |||
| övergångs~~POS=TRUNC | Standards läge * | Standards läge * | Standards läge |
| övergångs~~POS=TRUNC | Quirks Mode | Quirks Mode | Quirks Mode |
| Sträng | Standards läge | Standards läge * | Standards läge |
| Sträng | Standards läge | Standards läge * | Standards läge |
| HTML5 | |||
| Standards läge | Standards läge * | Quirks Mode | |
| * Med den här DOCTYPE är webbläsare nära standarder som är kompatibla, men har vissa problem, var noga med att testa. Detta är också känt som "Nästan Standards Mode". |




