Skip to main content

Bruke DOCTYPE-elementet i Quirks-modus

Responsive Design with Bootstrap by Neel Mehta (April 2025)

Responsive Design with Bootstrap by Neel Mehta (April 2025)
Anonim

Hvis du har utformet nettsider i mer enn et par måneder, er du mest sannsynlig klar over hvor vanskelig det er å skrive en side som ser ut som det er i alle nettlesere. Faktisk er det umulig. Mange nettlesere ble skrevet med spesielle funksjoner som de bare kunne håndtere. Eller de har spesielle måter å håndtere ting som er forskjellige fra hvordan andre nettlesere håndterer dem. For eksempel:

  • Lag ble laget for bruk i Netscape-nettlesere. De fungerer ikke i noen annen nettleser, og har faktisk blitt avskrevet i Netscape 6.x +.
  • Inline-rammer ble opprinnelig opprettet for Internet Explorer, og har siden blitt en del av HTML-spesifikasjonen.
  • Internet Explorer 6.0 legger til et ekstra mellomrom (som a) omkringliggende koder, med mindre du skriver innholdet i div-en på en (lang) linje. (IE 6 har mange flere quirks så vel som denne.)
  • Netscpe 4.7 viser ikke tabeller som ikke er skrevet i riktig HTML - det viser en tom side i stedet. Dette ble løst i Netscape 6.

Problemet med nettleserutviklere er at de må lage nettlesere som er bakoverkompatible med nettsider som er bygget for eldre nettlesere. For å håndtere dette problemet, opprettet nettleserskapene moduser for nettleserne å operere i. Disse modusene er definert av nærvær eller fravær av et DOCTYPE-element, og hva det DOCTYPE samtaler.

DOCTYPE

Jeg går inn i mer detalj i artikkelen min DOCTYPEListe, men her er noen generelle tommelfingerregler:

  1. Velg alltid standardmodus først. Og den nåværende standarden du bør bruke er HTML5: Med mindre du har en bestemt grunn til å unngå å bruke HTML5 DOCTYPE, dette er det du bør bruke.
  2. Gå til streng HTML 4.01 hvis du trenger å validere eldre elementer eller vil unngå nye funksjoner av en eller annen grunn:
  3. Hvis du har skivede bilder i et bord og ikke vil fikse dem, går du til Transitional HTML 4.01:
  4. Ikke skriv sider med vilje i quirks-modus. Bruk alltid a DOCTYPE. Dette vil spare deg for utviklingstid i fremtiden, og har egentlig ingen fordel. IE6 mister raskt popularitet, og ved å designe for denne nettleseren (som egentlig er hva design i quirks-modus er) begrenser du deg selv, leserne og sidene dine. Hvis du må skrive for IE 6 eller 7, bruk deretter betingede kommentarer for å støtte dem, i stedet for å tvinge moderne nettlesere til quirks-modus.

Hvorfor bruk DOCTYPE

Når du er klar over denne typen DOCTYPE Hvis du slår på, kan du påvirke websidene dine mer direkte ved å bruke en DOCTYPE som indikerer hva nettleseren kan forvente fra siden din. Også, når du begynner å bruke DOCTYPE, du vil skrive HTML som er nærmere å være gyldig (du bør fortsatt validere det). Og ved å skrive gyldig XHTML, oppfordrer du nettlesere til å bygge standarder som er kompatible med nettlesere.

Browser Versjoner 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
TransitionalStandardsmodus *Standardsmodus *Standardmodus
TransitionalQuirks ModeQuirks ModeQuirks Mode
StrengStandardmodusStandardsmodus *Standardmodus
StrengStandardmodusStandardsmodus *Standardmodus
HTML5
StandardmodusStandardsmodus *Quirks Mode
* Med denne DOCTYPE, er nettlesere nær standarder som er kompatible, men har noen problemer - vær sikker på å teste. Dette er også kjent som "Nesten Standards Mode."