J'ai l'iframe suivant sur mon site:
<iframe src="<<URL>>" height="800" width="800" sandbox="allow-same-Origin allow-scripts allow-forms" scrolling="no" style="overflow: hidden"></iframe>
Et il a des barres de défilement.
Comment se débarrasser d'eux?
Malheureusement, je ne pense pas que ce soit possible dans une conformité totale à HTML5 avec uniquement les propriétés HTML et CSS. Heureusement cependant, la plupart des navigateurs prennent toujours en charge la propriété scrolling
(qui a été supprimée de la spécification HTML5 ).
overflow
n'est pas une solution pour HTML5, car le seul navigateur moderne compatible à tort est Firefox.
Une solution actuelle consisterait à combiner les deux:
<iframe src="" scrolling="no"></iframe>
iframe {
overflow: hidden;
}
Mais cela pourrait être rendu obsolète à la mise à jour des navigateurs. Vous voudrez peut-être vérifier ceci pour une solution JavaScript: http://www.christersvensson.com/html-tool/iframe.htm
Edit: J'ai vérifié et scrolling="no"
fonctionnera dans IE10, Chrome 25 et Opera 12.12.
J'ai résolu le même problème avec ce css:
pointer-events:none;
Il semble fonctionner en utilisant
html, body { overflow: hidden; }
à l'intérieur l'IFrame
edit: Bien sûr, cela ne fonctionne que si vous avez accès au contenu de l'Iframe (que j'ai dans mon cas)
Définissez tout le contenu sur:
#yourContent{
width:100%;
height:100%; // in you csss
}
Le fait est que le défilement d'iframe est défini par le contenu et non par l'iframe.
définir le contenu à 100% à l'intérieur avec CSS et le désiré pour l'iframe en HTML
Ajoutez ces styles..pour votre tag iframe ..
overflow-x:hidden;
overflow-y:hidden;
J'ai essayé de faire défiler = "non" dans mon navigateur actuel (version de Google Chrome 60.0.3112.113 (Build officiel) (64 bits)) et cela n'a pas fonctionné. Cependant, scroll = "no" a fonctionné. Pourrait être utile d'essayer
<iframe src="<<URL>>" height="800" width="800" sandbox="allow-same-Origin allow-scripts allow-forms" scroll="no" style="overflow: hidden"></iframe>
Il suffit d’ajouter un iframe de style semblable à l’une des options ci-dessous. J'espère que cela résout le problème.
1ère option:
<iframe src="https://www.skyhub.ca/featured-listing" style="position: absolute; visibility: hidden;" onload="this.style.position='static'; this.style.visibility='visible';" scrolling="no" frameborder="0" marginheight="0px" marginwidth="0px" height="400px" width="1200px" allowfullscreen></iframe>
2ème option:
<iframe src="https://www.skyhub.ca/featured-listing" style="display: none;" onload="this.style.display='block';" scrolling="no" frameborder="0" marginheight="0px" marginwidth="0px" height="400px" width="1200px" allowfullscreen></iframe>
sous les versions html5
iframe {
overflow:hidden;
}
En html5
<iframe seamless="seamless" ....>
iframe[seamless]{
overflow: hidden;
}
mais pas encore supporté correctement