vista predeterminar predeterminada para modo internet forzar emulador emulacion documento compatibilidad cambiar html internet-explorer-7 css

html - predeterminar - modo de documento emulador internet explorer



IE7 no entiende pantalla: bloque en lĂ­nea (4)

Actualizar

Como nadie usa IE6 y 7 más, presentaré una solución diferente:
Ya no necesitas un hack, porque IE8 lo soporta solo

Para aquellos que deben soportar esos exploradores de la Edad de Piedra antes de IE8 (No es que IE8 sea tan viejo, ni siquiera tose ):
Para la cuenta de control de la versión de IE, utilice alguna clase condicional en la etiqueta <html> como los estados de Paul Irish en su artículo

<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]--> <!--[if IE 8]><html class="no-js lt-ie9"><![endif]--> <!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]-->

Con esto tendrás diferentes clases en html-tag para diferentes navegadores IE

El CSS que necesitas es el siguiente

.inline-block { display: inline-block; } .lt-ie8 .inline-block { display: inline; zoom: 1; }

Esto validará y no necesitas un archivo CSS adicional

Respuesta anterior

.frame-header { background:url(images/tab-green.png) repeat-x left top; height:25px; display:-moz-inline-box; /* FF2 */ display:inline-block; /* will also trigger hasLayout for IE6+7*/ } /* Hack for IE6 */ * html .frame-header { display: inline; /* Elements with hasLayout and display:inline behave like inline-block */ } /* Hack for IE7 */ * + html .frame-header { display: inline; /* Elements with hasLayout and display:inline behave like inline-block */ }

¿Alguien puede ayudarme a entender mi error? Con Firefox funciona bien pero con Internet Explorer 7 no. Parece que no comprende la display: inline-block; .

html:

<div class="frame-header"> <h2>...</h2> </div>

css:

.frame-header { height:25px; display:inline-block; }


IE7 no admite ''bloque en línea'' correctamente, más información aquí: LINK
El uso puede usar: ''en línea'' en su lugar.

¿Qué estás tratando de lograr exactamente? Haznos un ejemplo y ponlo aquí: http://jsfiddle.net/


La display: inline-block; IE7 display: inline-block; hackear es el siguiente:

display: inline-block; *display: inline; zoom: 1;

De forma predeterminada, IE7 solo admite inline-block en inline elementos naturales en inline ( Quirksmode Compatibility Table ), por lo que solo necesita este truco para otros elementos.

zoom: 1 está ahí para desencadenar el comportamiento de hasLayout , y usamos el hack de propiedad de estrella para configurar la display en inline solo en IE7 y menor (los navegadores más nuevos no aplicarán eso). hasLayout y en inline juntos básicamente activarán el comportamiento de inline-block en inline-block en IE7, por lo que estamos contentos.

Este CSS no validará, y puede hacer que su hoja de estilos se estropee de todos modos, por lo que podría ser una buena idea usar una hoja de estilos de solo IE7 a través de comentarios condicionales .

<!–-[if IE 7]> <link rel="stylesheet" href="ie7.css" type="text/css" /> <![endif]–->


usar en línea, funciona con este tipo de selectores para los artículos de la lista:

ul li {}

o para ser específico:

ul[className or name of ID] li[className or name of ID] {}