HTML 5 no admite atributos como frameborder, scrolling, marginwidth y marginheight (que eran compatibles con HTML 4.01). En cambio, la especificación HTML 5 ha introducido el atributo sin costuras. El atributo sin costura permite que el marco en línea aparezca como si se estuviera renderizando como parte del documento que lo contiene. Por ejemplo, los bordes y las barras de desplazamiento no aparecerán.
Según MDN
frameborder
Obsoleto desde HTML5
El valor 1
(predeterminado) dibuja un borde alrededor de este marco. El valor 0
elimina el borde alrededor de este marco, pero debería usar el borde de la propiedad CSS para controlar los bordes.
Como dice la cita anterior, debe eliminar el borde con CSS;
ya sea en línea ( style="border: none;"
) o en su hoja de estilo ( iframe { border: none; }
).
Dicho esto, no parece haber un solo proveedor de iframe que no utilice frameborder="0"
. Incluso YouTube todavía usa el atributo y ni siquiera proporciona un atributo de estilo para hacer que los iframes sean compatibles con versiones anteriores cuando ya no se admite frameborder. Es seguro decir que el atributo no desaparecerá pronto. Esto te deja con 3 opciones:
- Sigue usando
frameborder
, solo para asegurarte de que funciona (por ahora)
- Usa CSS para hacer lo "correcto"
- Utilice ambos. Aunque esto no resuelve el problema de incompatibilidad (al igual que la opción 1), sí funciona y funcionará en todos los navegadores que han sido y serán
En cuanto al estado anterior de esta respuesta de una década:
El seamless
atributo ha sido admitido durante tan poco tiempo (o no lo han admitido algunos navegadores), que MDN ni siquiera lo enumera como una característica obsoleta. No lo use y no se confunda con los comentarios a continuación.