2008-10-30 8 views
9

A div, contenant une table a le style CSS suivant:Internet Explorer crée scrollbar horizontale pour la largeur de la barre de défilement vertical

#formulaAlts { 
    float: right; 
    height: 200px; 
    overflow: auto; 
} 

Cela fait en sorte que lorsque la table est> 200px, une barre de défilement apparaît uniquement pour la table et les autres éléments sur la page restent en place. Génial!

Maintenant pour notre ami IE ...
Dans IE, l'élément génère la barre de défilement verticale sans faire croître l'élément conteneur. Pour "résoudre" cela, une barre de défilement horizontale est créée.
C'est nul. Et je ne veux pas que ça suce ...

Des idées?

--EDIT--
Je trouve que la ligne

overflow-x: hidden; 

forces IE ignorer la barre de défilement horizontale. C'est mieux .. mais pas tout à fait là car maintenant une partie de ma table est invisble.

+0

Ne pouvez-vous pas définir la largeur sur le div contenant? – Prestaul

+0

oui, je pourrais. Mais je ne connais pas encore la largeur. Cela dépend de la largeur des valeurs. –

Répondre

2

Attention.

overflow-x 

n'est pas l'attribut le plus largement supporté.

J'ai tendance à aller avec un contenant div avec un peu de rembourrage droite:

CSS:

div.scroll { 
    overflow:auto; 
    padding-right:6px; 
    /* I've found 6px to be just right my purposes, but try others*/ 
} 

EDIT: Vous aurez besoin d'ajouter une hauteur attribuer quelque part pour que cela fonctionne! J'ai généralement un ensemble par défaut dans la déclaration de div.scroll puis ajuster cela pour des cas spécifiques (la plupart). HTML:

<div class="scroll" > 
    <table> 
    <!-- your table stuff in here --> 
    </table> 
</div> 
+0

Merci pour la réponse. J'ai fait quelque chose de similaire, mais j'ai utilisé le * -hack donc seul IE le voit. Haine, mais jusqu'à ce que je trouve un meilleur moyen, cela devra faire. –

+0

Hm, qu'entendez-vous par "Vous aurez besoin d'ajouter un attribut de taille quelque part pour que cela fonctionne"? J'essaie de résoudre ce problème depuis quelques jours déjà, et jusqu'à présent, aucune des solutions proposées sur Internet n'a fonctionné pour moi ... :( –

Questions connexes