2011-05-06 26 views
13

Según this page,: nth-child debería funcionar en IE9, y lo he intentado antes y funcionó bien, pero en this page, parece que no funciona. Vea la página en Chrome para ver el comportamiento deseado, y en IE, verá que no funciona. Probablemente pueda ver esto con un inspector web, pero para su referencia, las líneas relevantes de CSS son;¿Por qué no está: nth-child trabajando en IE9?

.ad_widget:nth-child(3n+2) { background: #efefef; } 
.ad_mrow {background: #efefef;}` 

Estoy perdido. ¿Algunas ideas?

+1

[Chrome] (http://hypftier.de/dump/so5914888-chrome.png) y [IE9] (http://hypftier.de/dump/so5914888-ie9.png) en mi máquina. ¿Dónde debería ver una diferencia? – Joey

+0

Está funcionando en IE9. – methyl

+0

Funciona para mí en IE9.0.8112.16421 – Detect

Respuesta

18

Por alguna razón no puedo comprender, por defecto IE9 a modo de compatibilidad para buscar en los sitios de intranet, o una página HTML almacenada como un archivo en un PC. El modo de compatibilidad significa 'renderizar cosas como un viejo navegador tonto'. Esto significa que cuando estás diseñando cosas para un sitio web e intentas obtener una vista previa de tu IDE favorito en IE9, ninguna de las cosas de CSS3 funciona. Tienes que hacer clic en Herramientas -> 'configuración de vista de compatibilidad' en el menú de IE9 y luego desmarcar la casilla molesta que dice 'mostrar sitios de interanet en la vista de compatibilidad'. A partir de ese momento, el miserable navegador funciona como cualquier otro navegador como Safari. ¿Por qué lo hicieron? El cielo solo sabe, pero me ha llevado años descubrir esta simple solución debido al hecho de que seguí culpando a mi código.

+2

¿Qué ... de ninguna manera ... qué estaban pensando ... –

+5

Lo entendí mal ... Pensé 'renderizar cosas como un viejo navegador tonto' era el modo POR DEFECTO de IE –

+3

Es un respuesta tardía, pero agregue una metaetiqueta a su encabezado HTML: Ian

7

Tienen el mismo aspecto aquí. ¿Estás seguro de que no estás en modo de compatibilidad?

+1

Nota al margen: Puede ver si está en modo compat por el borde gris 2px alrededor del contenido de la página. O mirando las herramientas de desarrollo. – Joey

+0

Parece que estoy en modo de compatibilidad, pero no sé por qué. Configuré , que debería activar el modo estándar, y no tengo el ícono de "página rota" para cambiar de modo. –

+0

Bien, entonces el problema era que estaba realizando pruebas localmente, lo que por alguna extraña razón fuerza a IE9 al modo de compatibilidad. Gracias por la ayuda. –

0

Parece estar funcionando para mí. IE9

Chrome

-3

<!DOCTYPE html> no parará el modo peculiar, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> hace.

+2

Eso no es cierto en absoluto. –

2

Mi versión de IE9 fue bloqueado en modo de representación de Internet Explorer 8, que no se aplica el siguiente selector:

.parentClass > div:nth-child(n+2) .childClass 

Aquí es donde se pueden encontrar las opciones para cambiarlo:

Where in IE9 to Adjust Browser and Document mode

Cuestiones relacionadas