¿Alguien puede ayudarme a entender este error? Con Firefox funciona bien, pero con Internet Explorer 7 no. Parece no entender el display: inline-block;
.
html:
<div class="frame-header">
<h2>...</h2>
</div>
css:
.frame-header {
height:25px;
display:inline-block;
}
html
internet-explorer-7
css
lanthuong
fuente
fuente
Respuestas:
El
display: inline-block;
truco de IE7 es el siguiente:Por defecto, IE7 solo admite
inline-block
coninline
elementos naturales ( Tabla de compatibilidad de Quirksmode ), por lo que solo necesita este truco para otros elementos.zoom: 1
está ahí para disparador dehasLayout
comportamiento, y usamos el truco propiedad estrella para el ajuste deldisplay
queinline
sólo en IE7 e inferior (los nuevos navegadores que no serán de aplicación).hasLayout
yinline
juntos básicamente provocarán uninline-block
comportamiento en IE7, por lo que estamos contentos.Este CSS no se validará, y puede hacer que su hoja de estilo se estropee de todos modos, por lo que puede ser una buena idea usar una hoja de estilo solo para IE7 a través de comentarios condicionales .
fuente
*zoom:1;
triger hasLayout. Así que es más claro que el*zoom
y*display
van juntosActualizar
Como ya nadie usa IE6 y 7, presentaré una solución diferente:
ya no necesita un hack, porque IE8 lo admite solo
Para aquellos que deben admitir esos navegadores de la edad de piedra antes de IE8 (no es que el IE8 sea tan viejo, demasiado tosido ):
para la cuenta del control de versiones de IE, use alguna clase condicional en la
<html>
etiqueta como dice Paul Irish en su artículoDe este modo, tendrá diferentes clases en html-tag para diferentes navegadores IE
El CSS que necesitas es el siguiente
Esto validará y no necesita un archivo CSS adicional
Vieja respuesta
fuente
inline-block
alframe-header
elemento. O cambieinline-block
porframe-header
en los selectores CSS.IE7 no admite 'inline-block' correctamente, más información aquí: LINK
Use puede usar: 'inline' en su lugar.
¿Qué es exactamente lo que estás tratando de lograr? Haznos un ejemplo y ponlo aquí: http://jsfiddle.net/
fuente
use en línea, funciona con este tipo de selectores para elementos de la lista:
o para ser específico:
fuente
inline
No es lo mismo queinline-block
. Por ejemplo,height: 25px;
en el ejemplo no tendrá efecto cuando el elemento lo seainline
. Además, la pregunta no dice nada sobre listas.