IE7 ne pas comprendre display: inline-block
Quelqu'un peut-il svp m'aider à obtenir ma tête autour de ce bug? Avec Firefox sa fonctionne bien mais avec Internet Explorer 7 de ses pas. Il semble ne pas comprendre le display: inline-block;
.
html:
<div class="frame-header">
<h2>...</h2>
</div>
css:
.frame-header {
height:25px;
display:inline-block;
}
- Qu'est-ce exactement pour vous d'atteindre? Quel est l'effet?
Vous devez vous connecter pour publier un commentaire.
Les IE7
display: inline-block;
hack est comme suit:Par défaut, IE7 ne supporte
inline-block
naturellementinline
éléments (Quirksmode Tableau De Compatibilité), de sorte que vous aurez besoin de ce hack pour d'autres éléments.zoom: 1
est là pour déclencherhasLayout
comportement, et nous utilisons la star de la propriété hack pour le réglage de ladisplay
àinline
seulement dans IE7 et inférieur (les navigateurs les plus récents de ne pas l'appliquer).hasLayout
etinline
ensemble va déclencherinline-block
comportement dans IE7, donc nous sommes heureux.Cette CSS ne sera pas validé, et peut rendre votre feuille de style foiré de toute façon, alors à l'aide d'un IE7 seule feuille de style par le biais de les commentaires conditionnels pourrait être une bonne idée.
*zoom:1;
à triger hasLayout. Il est donc plus clairement que le*zoom
et*display
aller ensembleMise à jour
Que personne ne l'utilise IE6 et 7 plus je vais vous présenter une solution différente:
Vous n'avez pas besoin d'un hack plus, parce que IE8 elle soutient par elle-même
Pour ceux qui doivent soutenir ceux de l'âge de pierre des navigateurs avant de IE8 (Ce n'est pas que la IE8 est que le vieux, trop toux):
Pour le compte de l'ei contrôle de version, l'utilisation Conditionnelle de Classe dans
<html>
tag Paul Irish états son articlePar la présente, vous aurez différentes classes dans la balise html pour différents Navigateurs IE
Le CSS que vous avez besoin est comme suit
Valider et vous n'avez pas besoin d'un supplément fichier CSS
Vieille réponse
inline-block
à laframe-header
élément. Ou changerinline-block
parframe-header
dans les sélecteurs CSS.IE7 ne prend pas en charge 'inline-block' correctement, plus d'infos ici: LIEN
Utiliser pouvez utiliser: 'inline' à la place.
Exactement ce que vous essayez d'atteindre? Nous faire un exemple et le mettre ici: http://jsfiddle.net/
utilisation en ligne, il travaille avec ce type de sélecteurs d'éléments de la liste:
ou pour être précis:
inline
n'est pas le même queinline-block
. Par exemple, leheight: 25px;
dans l'exemple ne prendra effet que lorsque l'élément estinline
. Aussi, la question ne dit rien sur les listes.