HTML 5 nie obsługuje atrybutów, takich jak frameborder, scrolling, marginwidth i marginheight (które były obsługiwane w HTML 4.01). Zamiast tego specyfikacja HTML 5 wprowadziła atrybut seamless. Atrybut seamless sprawia, że ramka wbudowana wygląda tak, jakby była renderowana jako część dokumentu zawierającego. Na przykład nie pojawią się obramowania i paski przewijania.
Według MDN
frameborder
Przestarzałe od HTML5
Wartość 1
(domyślna) rysuje obramowanie wokół tej ramki. Wartość 0
usuwa obramowanie wokół tej ramki, ale zamiast tego powinieneś używać obramowania właściwości CSS do kontrolowania granic.
Jak mówi powyższy cytat, powinieneś usunąć obramowanie za pomocą CSS;
albo inline ( style="border: none;"
) albo w twoim arkuszu stylów ( iframe { border: none; }
).
Biorąc to pod uwagę, wydaje się, że nie ma ani jednego dostawcy iframe, który by nie używał frameborder="0"
. Nawet YouTube nadal używa tego atrybutu, a nawet nie zapewnia atrybutu stylu, który sprawiłby, że ramki iframe byłyby wstecznie zgodne, gdy ramka ramki nie są już obsługiwane. Można śmiało powiedzieć, że atrybut nigdzie się nie zmieni. To pozostawia Ci 3 opcje:
- Używaj dalej
frameborder
, aby mieć pewność, że działa (na razie)
- Użyj CSS, aby zrobić „właściwą” rzecz
- Używać obu. Chociaż nie rozwiązuje to problemu niekompatybilności (podobnie jak opcja 1), działa i będzie działać w każdej przeglądarce, która była i będzie
Jeśli chodzi o poprzedni stan tej sprzed dziesięciu lat odpowiedzi:
seamless
Atrybut został wsparty na tak krótkim czasie (lub w ogóle przez niektórych przeglądarkach), że nawet nie MDN listy jako przestarzała funkcja. Nie używaj go i nie daj się zmylić poniższymi komentarzami.