HTML 5 не поддерживает такие атрибуты, как frameborder, scrolling, marginwidth и marginheight (которые были поддержаны в HTML 4.01). Вместо этого в спецификации HTML 5 появился атрибут seamless. Атрибут seamless позволяет встроенному фрейму выглядеть так, как будто он отображается как часть содержащего документ. Например, границы и полосы прокрутки не появятся.
Согласно MDN
frameborder
Устаревший с HTML5
Значение 1
(по умолчанию) рисует рамку вокруг этого кадра. Значение 0
удаляет границу вокруг этого фрейма, но вместо этого вы должны использовать границу свойства CSS для управления границами.
Как и в приведенной выше цитате, вы должны удалить границу с помощью CSS;
либо встроенным (style="border: none;"
), либо в таблице стилей (iframe { border: none; }
).
При этом, похоже, не существует ни одного поставщика iframe, который бы не использовал frameborder="0"
. Даже YouTube по-прежнему использует этот атрибут и даже не предоставляет атрибута стиля, чтобы сделать фреймы обратно совместимыми, если фреймбордер больше не поддерживается. Можно с уверенностью сказать, что атрибут никуда не денется в ближайшее время. Это оставляет вам 3 варианта:
- Продолжайте использовать
frameborder
, просто чтобы убедиться, что он работает (пока)
- Используйте CSS, чтобы сделать "правильную" вещь
- Используйте оба. Хотя это не решает проблему несовместимости (как и вариант 1), она работает и будет работать во всех браузерах, которые были и будут
Что касается предыдущего состояния этого десятилетнего ответа:
Атрибут seamless
поддерживается в течение столь короткого времени (или вообще не поддерживается некоторыми браузерами), что MDN даже не отображает его как устаревшую функцию. Не используйте его и не смущайтесь комментариями ниже.