2009-07-17 8 views
0

J'étais juste skinning un site Web et a constaté que débordement: visible rend deux choses complètement différentes de Firefox à IE.Overflow css attribut navigateur différences d'interprétation

Firefox affiche juste tout en dehors du récipient ... comme ceci:

-------------------------------- 
| div style="overflow:visible" | 
-------------------------------- 
    //overflow content from the div above 

Mais IE étend le récipient pour adapter le trop-plein ... comme ceci:

----------------------------------------- 
| div style="overflow:visible"   | 
| //overflow content from the div above | 
----------------------------------------- 

Quelqu'un sait pourquoi IE l'affiche différemment et comment les obtenir tous les deux pour rendre le même chemin que Firefox?

Merci,
Matt

+0

Quelle version d'IE? IE6 rend certaines choses différemment à IE7, même lorsque les deux sont en mode standard, et IE8 fait les choses différemment (et plus près de la bonne façon) en mode IE8. Si c'est IE6, la réponse d'annakata est probablement ce dont vous avez besoin. – NickFitz

Répondre

0

Vous avez pas dit, mais je vais supposer que vous avez appliqué une hauteur fixe ici, que je ne peux pas penser à une autre façon d'obtenir cet effet.

Le problème ici n'est pas le débordement, c'est la hauteur. IE traite malheureusement la hauteur comme minimum hauteur, donc il agrandit la zone de texte si vous l'avez laissé (avec débordement: visible par exemple). Obtenir l'effet IE dans Firefox est trivial - vous pouvez simplement appliquer min-height au lieu de height, mais je ne crois pas qu'il existe un moyen de reproduire directement l'effet Firefox dans IE: ce n'est pas si flexible. Cependant, je peux concevoir un moyen de tricher l'effet si c'est purement graphique en utilisant une image de fond avec repeat-x seulement pour dessiner une ligne où vous pourriez le vouloir. A défaut, vous envisagez probablement d'insérer des majorations supplémentaires, jamais bien.