2009-08-07 17 views
5

¿Funciona IE8 en modo peculiar como IE6/7?IE8 y modo de caprichos

Tengo una página web que tiene algún código verdaderamente extraño. El contenido se centra con relleno y márgenes negativos.

Funciona correctamente en IE6/7 y otros navegadores, pero en IE8 el área de contenido es la mitad de ancha y no está centrada (indicador para el modo peculiar).

El código fuente tiene tres líneas en blanco antes del DOCTYPE. Sé que lanzará IE6 al modo peculiar. ¿También afectará IE8?

No tengo acceso a la fuente, así que no puedo eliminar esas líneas para probarla.

+0

Guarde en su computadora y edite la fuente. Vea si funciona la creación de rayas en esas líneas en blanco. El modo Quirks debe evitarse como la peste. – voyager

+1

Cuando se encuentra en la página de la que no está seguro, simplemente pegue lo siguiente en la ventana del navegador: javascript: alert (document.compatMode); y eso debería decirte el modo actual. – Steerpike

+0

s/barra de direcciones de la ventana del navegador/broswer – Steerpike

Respuesta

5

Ejecución de algunas pruebas rápidas que se pueden encontrar here parecen indicar que las líneas en blanco no debe ser desechado IE8 en modo no estándar (que es diferente al modo de compatibilidad con el que todo el mundo parece confundirlo).

Escribí un desglose de cómo increíblemente confuso los diferentes modos de IE8/7 here y ni siquiera incluí el modo Quirks en el desglose. Puede encontrar una descripción detallada del modo Quirks en here (no es para la pregunta original, pero a otros podría resultarle interesante)

+2

Ah ... su tipo de documento es Según su gráfico, eso arrojará IE8 al modo peculiar. – Emily

+0

Heads-up: Enlace # 2 (modos increíblemente confusos de IE8/7) ya no es válido. –

0

Sí lo hace. El modo peculiar de Internet Explorer es IE5.5. IE6/7/8 vuelve a cambiar a 5.5 cuando el modo peculiar está presente. Entonces, como funcionaba bien en IE6/7, no es el modo peculiar. Hay un botón de "Vista de compatibilidad" en IE8 para solucionar este problema. Aunque no es una buena solución para mí. Deberá verificar su código CSS.

+0

Pero IE6/7 tampoco debería estar en modo peculiar también porque las líneas en blanco están antes del DOCTYPE? Se ve bien en modo de compatibilidad. Fue desarrollado en IE6 y estoy pensando que de alguna manera compensaron el modo peculiar que ahora está lanzando IE8 por un ciclo ya que está tratando de seguir los estándares (o algunos de ellos). – Emily

+0

@Emily, no, no pondrá IE8 en modo peculiar. Puede cambiar el código para que se muestre correctamente en IE8 o use uno de sus modos de compatibilidad. Tiene 6 modos, y como su sitio funcionaba bien en 6/7, puede agregar la siguiente etiqueta : para obligar a IE8 a utilizar las directivas IE7 estándar cuando se encuentre en modo estándar. El modo Quirks será 5.5. – dalizard

0

IE8 tiene un modo de compatibilidad que debería tratar la página como lo haría IE7. ¿Has intentado ver la página en modo compatibilidad?

+0

La página se ve bien en modo compatibilidad. – Emily

3

Hoy, he cambiado nuestra DOCTYPE de XHTML v1.0 (estricto) a HTML5. Leí en alguna parte que, aunque los IE todavía no reconocen el DOCTYPE, mostrarán la página en modo compatible con los estándares.

Cuando revisé IE8, toda la página se veía mal (tenemos bastante CSS y otro estilo). Pasó un tiempo antes de que me diera cuenta de que no había nada "incorrecto" en el CSS, o incluso en IE8. Sin embargo, WAS estaba renderizado en modo peculiar.

Inadvertidamente, encontré la respuesta en la pregunta publicada aquí, específicamente este comentario: "El código fuente tiene tres líneas en blanco antes del DOCTYPE. Sé que lanzará IE6 al modo peculiar. ¿También afectará a IE8?"

No sé sobre líneas en blanco, pero cuando hice el cambio, había utilizado un comentario de javascript para "aferrarme" a mi antigua declaración DOCTYPE (que estaba por encima del nuevo DOCTYPE HTML5). Una vez que eliminé esas líneas (que pueden haber incluido una línea en blanco o dos), mi sudoración se detuvo y IE8 se procesó en modo compatible con los estándares.

+0

Acabas de ahorrarme muchas horas de pirateo de trabajo; razor colocado @usando System.Web.Optimization encima del Doctype y bajo y he aquí, derribó todos los estilos en IE8. Lo moví una línea abajo y está todo ordenado. ¡Gracias! –

Cuestiones relacionadas