50 votes

overflow : hidden ; ne fonctionne pas sur Chrome avec les IFRAMEs ?

J'ai un IFRAME avec des débordements cachés dans le css et le html. Cela fonctionne dans Firefox, mais pas dans Chrome/Safari.

Pourquoi ?

86voto

Joonas Points 4679

Bien, que diriez-vous :

<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe>

dans le cas du scrolling="no"

http://jsfiddle.net/neSBS/

1 votes

Ça a marché, merci ! Et il y a une raison pour laquelle vous n'avez pas utilisé d'iframes depuis un moment... (ils sont une douleur à travailler avec)

5 votes

scrolling est déprécié en HTML5 et il ne fonctionne tout simplement pas.

0 votes

15voto

matewka Points 5739

Après une recherche assez importante que j'ai faite sur ce sujet, je voudrais poster ma réponse, qui, je pense, pourrait être un complément à la réponse de Joonas :

<style>
    iframe {
        overflow:hidden;
    }
</style>
(...)
<iframe scrolling="no" src="http://www.google.com" width="400px" height="300"></iframe>

Je pense, que les deux scrolling y overflow:hidden devrait être fourni, bien que cette solution ne fonctionne pas dans une combinaison de Chrome et de doctype HTML5. scrolling est déprécié en HTML5 et l'attribut overflow n'affecte pas les iframes dans Chrome. Je suppose que ce dernier point est un bug, puisque la propriété Spécification HTML5 dit clairement :

En outre, HTML5 n'a aucun des attributs de présentation qui étaient dans HTML4 comme leurs fonctions sont mieux gérées par CSS :
(...)
- l'attribut nowrap sur td et th.
- attribut de règles sur la table.
- attribut de défilement sur l'iframe .
- attribut de taille sur hr.
- sur li et ul.
(...)

C'est dit clairement - en HTML5 scrolling doit être remplacé par CSS overflow .

3voto

Ian Everall Points 41
<style>
    iframe::-webkit-scrollbar {  
    display: none;
}  
</style>

Tel que trouvé sur - Safari/Chrome (Webkit) - Impossible de masquer la barre de défilement verticale d'une iframe

2voto

be3 Points 51

C'est étrange mais - transform : rotate(0.00001deg) ; pour div avec overflow:hidden ; aide pour moi.

1 votes

Ça a marché pour moi aussi. Aussi, transform: translateZ(1px) a fait la même chose.

0voto

philard Points 36

Juste width: 99.99%; a fait l'affaire pour moi.

J'ai eu ce problème dans Chrome mais pas dans Firefox.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X