2009-08-07 11 views
5

IE8 funziona in modalità quirk come IE6/7?IE8 e la modalità Quirks

Ho una pagina web che ha un codice veramente bizzarro. Il contenuto è centrato con padding e margini negativi.

Funziona correttamente in IE6/7 e altri browser, ma in IE8 l'area del contenuto è larga metà e non centrata (modalità flag per quirks).

Il codice sorgente ha tre righe vuote prima del DOCTYPE. So che getterà IE6 in modalità stranezze. Influirà anche su IE8?

Non ho accesso alla fonte, quindi non posso rimuovere quelle linee per testarlo.

+0

Salvare nel computer e modificare la fonte. Vedi se strisce quelle linee vuote funziona. La stranezza dovrebbe essere evitata come la peste. – voyager

+1

Quando sei nella pagina di cui non sei sicuro, basta inserire quanto segue nella finestra del browser- javascript: alert (document.compatMode); e questo dovrebbe dirti la modalità corrente. – Steerpike

+0

s/finestra del browser/barra degli indirizzi di broswer – Steerpike

risposta

5

esecuzione di alcuni test rapidi che si possono trovare here sembrano indicare che le linee vuote non devono gettare IE8 in quirks mode (che è diverso dalla modalità di compatibilità con cui tutti sembrano confonderlo).

Ho scritto una ripartizione su quanto incredibilmente confuso le diverse modalità di IE8/7 here e non ho nemmeno incluso la modalità Quirks nella ripartizione. Una descrizione dettagliata della modalità Quirks può essere trovata here (non per la domanda originale, ma altri potrebbero trovarla interessante.)

+2

Ah ... il loro doctype è In base al grafico, ciò causerà IE8 in modalità "Quirks". – Emily

+0

Heads-up: il collegamento n. 2 (incredibilmente confuso con le diverse modalità di IE8/7) non è più valido. –

0

Sì, sì. La modalità di quirks di Internet Explorer è IE5.5. IE6/7/8 torna a 5.5 quando è presente la modalità quirk. Quindi dal momento che funzionava bene in IE6/7 non è la modalità di quirks. C'è un pulsante "Compatibility View" in IE8 per risolvere questo problema. Però non è una buona soluzione. Dovrai controllare il tuo codice CSS.

+0

Ma non dovrebbe IE6/7 essere in modalità strane anche in quanto le righe vuote sono prima del DOCTYPE? Sembra buono in modalità compatibilità. È stato sviluppato in IE6 e penso che in qualche modo abbiano compensato la modalità dei quirks che ora sta lanciando IE8 per un ciclo poiché sta cercando di seguire gli standard (o alcuni di essi). – Emily

+0

@Emily, no non metterà IE8 in modalità quirks. Puoi modificare il codice in modo che venga visualizzato correttamente in IE8 o utilizzare una delle sue modalità di compatibilità. Ha 6 modi, e dal momento che il sito stava lavorando bene sotto 6/7 è possibile aggiungere il tag seguente: per forzare IE8 a utilizzare le direttive standard IE7 in modalità standard. La modalità Quirks sarà 5.5. – dalizard

0

IE8 dispone di una modalità di compatibilità che dovrebbe trattare la pagina come avrebbe fatto IE7. Hai provato a visualizzare la pagina in modalità compatibilità?

+0

La pagina funziona correttamente in modalità compatibilità. – Emily

3

Oggi, ho cambiato il nostro DOCTYPE da Valid v1.0 (Strict) per HTML5. Ho letto da qualche parte che anche se gli IE non riconoscono ancora il DOCTYPE, renderanno la pagina in modalità conforme agli standard.

Quando ho fatto il check in IE8, l'intera pagina sembrava colpita (abbiamo un bel po 'di CSS e altri stili). Ci è voluto un po 'prima che mi rendessi conto che non c'era nulla di "sbagliato" con il CSS, o persino IE8 per quella materia. Tuttavia, è stato il rendering in modalità strane.

Inavvertitamente, ho trovato la risposta nella domanda postata qui, in particolare questo commento: "Il codice sorgente ha tre righe vuote prima del DOCTYPE .Sapito che getterà IE6 in modalità quirk. Interesserà anche IE8?"

Non so le righe vuote, ma quando ho apportato la modifica, avevo usato un commento javascript per "aggrapparmi" alla mia vecchia dichiarazione DOCTYPE (che era SOPRA il nuovo HTML5 DOCTYPE). Una volta rimosse quelle linee (che potrebbero aver incluso una linea bianca o due), la mia sudorazione si fermò e IE8 reso in modalità conforme agli standard.

+0

Mi hai appena salvato molte ore di lavoro hackerato; rasoio posto @using System.Web.Optimization sopra il Doctype e basso ed ecco, ha buttato giù tutti gli stili in IE8. L'ho spostato di una riga in basso ed è tutto risolto! Grazie! –

Problemi correlati