Skip to main content

Brug af DOCTYPE Element i Quirks Mode

Responsive Design with Bootstrap by Neel Mehta (Juni 2026)

Responsive Design with Bootstrap by Neel Mehta (Juni 2026)

Indholdsfortegnelse:

Anonim

Hvis du har udformet websider i mere end et par måneder, er du højst sandsynligt opmærksom på sværheden ved at skrive en side, der ser ens ud i alle browsere. Faktisk er det umuligt. Mange browsere blev skrevet med specielle funktioner, som de kun kunne håndtere. Eller de har specielle måder at håndtere ting, der adskiller sig fra, hvordan andre browsere håndterer dem. For eksempel:

  • Lag blev oprettet til brug i Netscape-browsere. De virker ikke i nogen anden browser, og er faktisk blevet udskrevet i Netscape 6.x +.
  • Inline-rammer blev oprindeligt oprettet til Internet Explorer og er siden blevet en del af HTML-specifikationen.
  • Internet Explorer 6.0 tilføjer et ekstra mellemrum (som a) omgivende tags, medmindre du skriver indholdet af div'en alt på en (lang) linje. (IE 6 har mange flere quirks såvel som denne.)
  • Netscpe 4.7 viser ikke tabeller, der ikke er skrevet i korrekt HTML - det viser en tom side i stedet. Dette blev rettet i Netscape 6.

Problemet med browserudviklere er, at de skal oprette webbrowsere, der er bagudkompatible med websider, der er bygget til ældre browsere. For at kunne håndtere dette problem oprettede browserproducenter tilstande til browsere til at operere i. Disse tilstande er defineret af tilstedeværelsen eller fraværet af et DOCTYPE-element, og hvad DOCTYPE opkald.

DOCTYPE

Jeg går nærmere ind i min artikel DOCTYPEListe, men her er nogle generelle tommelfingerregler:

  1. Vælg altid standardtilstand først. Og den nuværende standard, du skal bruge, er HTML5: Medmindre du har en specifik grund til at undgå at bruge HTML5 DOCTYPE, dette er hvad du skal bruge.
  2. Gå til strenge HTML 4.01, hvis du skal validere gamle elementer eller vil undgå nye funktioner af en eller anden grund:
  3. Hvis du har skåret billeder i et bord og ikke ønsker at rette dem, skal du gå til Transitional HTML 4.01:
  4. Skriv ikke sider bevidst i quirks-tilstand. Brug altid a DOCTYPE. Dette vil spare dig for udviklingstid i fremtiden og har virkelig ingen fordel. IE6 mister hurtigt popularitet og ved at designe for denne browser (som i det væsentlige er, hvad der designer i quirks-tilstand er), begrænser du dig selv, dine læsere og dine sider. Hvis du skal skrive til IE 6 eller 7, skal du bruge betingede kommentarer til at understøtte dem, snarere end at tvinge moderne browsere til quirks-tilstand.

Hvorfor brug DOCTYPE

Når du er opmærksom på denne type DOCTYPE Hvis du skifter, kan du påvirke dine websider mere direkte ved at bruge en DOCTYPE der angiver, hvad browseren kan forvente fra din side. Også, når du begynder at bruge DOCTYPE, du skriver HTML, der er tættere på at være gyldig (du skal stadig validere det). Og ved at skrive gyldig XHTML opfordrer du browserproducenterne til at opbygge standarder, der er kompatible med browsere.

Browser Versioner og Quirks Mode

DOCTYPEAndroidChromeFirefoxIE 8+iOSOpera 7.5+SafariIE 6IE 7Opera 7Netscape 6
IngenQuirks ModeQuirks ModeQuirks Mode
HTML 3.2
Quirks ModeQuirks ModeQuirks Mode
HTML 4.01
TransitionalStandards Mode *Standards Mode *Standards Mode
TransitionalQuirks ModeQuirks ModeQuirks Mode
StrengStandards ModeStandards Mode *Standards Mode
StrengStandards ModeStandards Mode *Standards Mode
HTML5
Standards ModeStandards Mode *Quirks Mode
* Med denne DOCTYPE er browsere tæt på standarder, der er kompatible, men har nogle problemer - skal du teste. Dette kaldes også "Almost Standards Mode."