2010-09-20 6 views
8

Comment réparer display:inline-block; sur IE6?Comment réparer l'écran: inline-block sur IE6?

Mon html Page http://www.faressoft.org/tutorialTools/slideShow/

puis-je obtenir le même résultat d'une autre manière?

alt text

+0

Vous avez enregistré vos fichiers CSS avec une nomenclature UTF-8 et vous les diffusez sans charset dans l'en-tête du type de contenu. Je suggère de le réparer aussi. Je ne suis pas sûr comment IE6 réagirait sur la présence de la nomenclature UTF-8 incorrectement codée avant la première règle CSS. – BalusC

Répondre

12

Vous avez re-spécifier display:inline; sur des éléments de niveau bloc dans vos feuilles de style IE.

HTML:

<div class="ImageSlideShow">blah</div> 

CSS REGULIERE:

.ImageSlideShow { display:inline-block; } 

IE CSS:

<!--[if lt IE 8]> 
<style> 
.ImageSlideShow { display:inline; zoom:1; } 
</style> 
<![endif]--> 

Voir: http://work.arounds.org/using-inline-block-ie7-and-ie6/

BONUS:

Vous devez également spécifier display:inline; pour .ImageSlideShow .ImageNum {} afin d'atténuer un autre bogue IE.

+4

Je sais que c'est super vieux mais pour les autres qui viennent ici (comme moi-même) vous n'avez pas besoin d'un commentaire conditionnel pour cela. Tout ce dont vous avez besoin est .ImageSlideShow {display: inline-block; * affichage: en ligne; zoom: 1;} et ça marchera très bien. IE6 & 7 sont les seuls navigateurs qui reconnaissent * l'affichage de sorte que tous les autres l'ignorent. –

+0

Il est sans doute plus élégant d'utiliser des condoms, cependant, mais pour la concision et si vous ne vous souciez pas de la validation parfaite, allez-y. –

+0

Cela dépend si vous croyez que l'ajout de balisage supplémentaire dans votre structure est plus succinct et sémantique comparé à l'ajout de deux attributs dans votre CSS (où les éléments de conception sont censés vivre.) Mais, vous avez raison, vous pouvez argumenter en fonction de votre position sur ce front. –

4

http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/

En IE6 vous pouvez définir l'affichage: inline-bock uniquement à de véritables éléments en ligne comme la durée ou.

+0

Quelqu'un pourrait-il expliquer pourquoi ma réponse a été rejetée? Impossible de voir une information erronée ici. IE 6/7 accepte l'affichage: valeur inline-block uniquement sur les éléments avec un affichage naturel: inline. Pour vérifier ici http://www.quirksmode.org/css/display.html – gearsdigital

+0

Lisez la réponse sélectionnée. –

+0

Correction de mon problème, merci. –

5
* html p { display: inline; zoom: 1; } 
Questions connexes