Bruke DOCTYPE-elementet i Quirks-modus
Utelat Doctype for å sette nettlesere i Quirks-modus
InnholdsfortegnelseUtvide- DOCTYPE Switching og Quirks-modus
- Microsoft gjør det vanskeligere
- Hva er Quirks Mode?
- Quirks-moduseffekter
- Velg en DOCTYPE
- Hvorfor bruke DOCTYPE
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.
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 fortsattHva 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.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
DOKTYPENettleserversjoner 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.