Bruke DOCTYPE-elementet i Quirks-modus

Utelat Doctype for å sette nettlesere i Quirks-modus

InnholdsfortegnelseUtvide

Hvis du har designet nettsider i mer enn noen få måneder, er du mest sannsynlig klar over vanskeligheten med å skrive en side som ser lik ut i alle nettlesere. Faktisk er det umulig. Mange nettlesere ble skrevet med spesielle funksjoner som bare de kunne håndtere. Eller de har spesielle måter å håndtere ting på som er annerledes enn hvordan andre nettlesere håndterer dem. For eksempel:





|_+_|

samtaler.

  • Lag ble opprettet for bruk i Netscape-nettlesere. De fungerer ikke i noen annen nettleser, og har faktisk blitt avviklet i Netscape 6.x+.
  • Innebygde rammer ble opprinnelig laget kun for Internet Explorer, og har siden blitt en del av HTML-spesifikasjonen.
  • Internet Explorer 6.0 legger til en ekstra plass (som en
    ) omkringliggende tagger med mindre du skriver innholdet i div-en på én (lang) linje. (IE 6 har mange flere særheter i tillegg til denne.)
  • Netscape 4.7 vil ikke vise tabeller som ikke er skrevet i riktig HTML - den viser en tom side i stedet. Dette ble fikset i Netscape 6.

Problemet for nettleserutviklere er at de må lage nettlesere som er bakoverkompatible med nettsider laget for eldre nettlesere. For å håndtere dette problemet opprettet nettleserprodusenter moduser for nettleserne å operere i. Disse modusene er definert av tilstedeværelsen eller fraværet av et DOCTYPE-element og hva det



|_+_|

samtaler.

DOCTYPE Switching og Quirks-modus

Hvis du legger inn følgende



|_+_|, dette utløser standardmodus.
  • Det er et HTML 4.01 overgangsdokument
  • Fordi den er i standardmodus, vil de fleste nettlesere gjengi innholdet kompatibelt (eller for det meste kompatibelt) med HTML 4.01 Transitional
  • Og hvis du legger dette

    |_+_| erklæring, vil de gå inn i quirks-modus. Så, begge disse eksemplene vil sette IE 6 i quirks-modus, selv om |_+_| elementbytte

    • IE 5.5 quirks-modus (IE 8 og 9)
    • IE 7 standardmodus (IE 8 og 9)
    • IE 8 nesten standardmodus (IE 8 og 9)
    • IE 8 standardmodus (IE 8 og 9)
    • IE 9 nesten standardmodus (IE 9)
    • IE 9 standardmodus (IE 9)
    • XML-modus (IE9)

    IE 8 introduserte også kompatibilitetsmodus der brukeren kunne velge å endre gjengivelsesmodellen tilbake til IE 7-modus. Slik at selv om du angir modusen du vil stille inn ved å bruke både

    |_+_| og |_+_| elementer, kan siden din fortsatt



    Hva er Quirks Mode?

    Quirks-modus ble opprettet for å hjelpe med å håndtere all den merkelige gjengivelsen og ikke-kompatibel nettleserstøtte og hacks som webdesignere brukte for å håndtere disse tingene. Bekymringen som nettleserprodusentene hadde var at hvis de byttet nettlesere til full spesifikasjonsoverholdelse, ville webdesignere bli stående bak. Ved å sette opp

    |_+_| attributt fungerer, for eksempel. IE8 og IE9 har svært dramatiske endringer i skripting i quirks-modus.

    Det er også en forskjell i Nesten standardmodus:



    • Høyden på tabellceller med bare bilder inni beregnes annerledes enn standardmodus.

    Hvordan velge en DOCTYPE

    Jeg går mer i detalj i artikkelen min

    |_+_|, dette er hva du bør bruke.
  • Gå til streng HTML 4.01 hvis du trenger å validere eldre elementer eller ønsker å unngå nye funksjoner av en eller annen grunn:
  • Hvis du har kuttet bilder i en tabell og ikke vil fikse dem, gå til Transitional HTML 4.01:
  • Ikke skriv sider bevisst i quirks-modus. Bruk alltid en |_+_|. 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 betingede kommentarer for å støtte dem, i stedet for å tvinge moderne nettlesere inn i quirks-modus.
  • Hvorfor bruke DOCTYPE

    Når du er klar over denne typen



    |_+_| Hvis du bytter på, kan du påvirke nettsidene dine mer direkte ved å bruke en |_+_| som indikerer hva nettleseren kan forvente av siden din. Også når du begynner å bruke
    DOKTYPE

    Nettleserversjoner og Quirks-modus



    |_+_| Android
    Chrome
    Firefox
    IE 8+
    iOS
    Opera 7.5+
    Safari
    IE 6
    IE 7
    Opera 7
    Netscape 6
    Ingen Quirks-modus Quirks-modus Quirks-modus
    HTML 3.2
    Quirks-modus Quirks-modus Quirks-modus
    HTML 4.01
    Overgangs Standardmodus* Standardmodus* Standardmodus
    Overgangs Quirks-modus Quirks-modus Quirks-modus
    Streng Standardmodus Standardmodus* Standardmodus
    Streng Standardmodus Standardmodus* Standardmodus
    HTML5
    Standardmodus Standardmodus* Quirks-modus

    *Med denne DOCTYPE er nettlesere nær standardkompatible, men har noen problemer – sørg for å teste. Dette er også kjent som nesten standardmodus.