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