HTML 5 ne prend pas en charge des attributs tels que frameborder, scrolling, marginwidth et marginheight (qui étaient pris en charge dans HTML 4.01). En revanche, la spécification HTML 5 a introduit l'attribut seamless. L'attribut seamless permet au cadre en ligne d'apparaître comme s'il était rendu en tant que partie du document contenant. Par exemple, les bordures et les barres de défilement n'apparaissent pas.
Selon MDN
frameborder
Obsolète depuis HTML5
La valeur 1
(par défaut) dessine une bordure autour de ce cadre. La valeur 0
supprime la bordure de ce cadre, mais vous devriez plutôt utiliser la propriété CSS border pour contrôler les bordures.
Comme le dit la citation ci-dessus, vous debe supprimer la bordure avec CSS ;
soit en ligne ( style="border: none;"
) ou dans votre feuille de style ( iframe { border: none; }
).
Ceci étant dit, il ne semble pas y avoir un seul fournisseur d'iframe qui n'utilise pas frameborder="0"
. Même YouTube utilise encore cet attribut et ne fournit même pas d'attribut de style pour rendre les iframes rétrocompatibles lorsque frameborder n'est plus pris en charge. On peut dire que l'attribut n'est pas prêt de disparaître. Il ne vous reste donc que trois options :
- Continuez à utiliser
frameborder
juste pour être sûr que cela fonctionne (pour l'instant).
- Utilisez les CSS, pour faire la "bonne" chose
- Utilisez les deux. Bien que cela ne résolve pas le problème d'incompatibilité (tout comme l'option 1), cela fonctionne et fonctionnera dans tous les navigateurs qui ont été et seront utilisés par le passé.
Quant à l'état antérieur de cette réponse vieille de dix ans :
Le site seamless
est pris en charge depuis si peu de temps (voire pas du tout par certains navigateurs) que MDN ne le considère même pas comme une fonctionnalité obsolète. Ne l'utilisez pas et ne vous laissez pas déconcerter par les commentaires ci-dessous.