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] {}