Jak usunąć ramkę z elementu iframe osadzonego w mojej aplikacji internetowej? Przykładem iframe jest:
<iframe src="myURL" width="300" height="300">Browser not compatible.</iframe>
Chciałbym, aby przejście z treści na mojej stronie do zawartości ramki iframe było płynne, przy założeniu, że kolory tła są spójne. Docelowa przeglądarka to tylko IE6 i niestety rozwiązania dla innych nie pomogą.
Odpowiedzi:
Dodaj
frameBorder
atrybut (zwróć uwagę na wielką literę „B” ).Więc wyglądałoby to tak:
źródło
frameBorder
się błąd, ponieważ nie jest on zgodny z HTML5: Atrybut frameborder elementu iframe jest nieaktualny. Zamiast tego użyj CSS. W HTML5 ustawiłbym właściwość CSS naborder:0
. Czy istnieje sposób, aby uczynić go wstecznie kompatybilnym bez powodowania błędów sprawdzania poprawności?Po tym, jak oszalałem, próbując usunąć granicę w IE7, odkryłem, że w atrybucie frameBorder rozróżniana jest wielkość liter.
Trzeba ustawić atrybut frameborder z kapitału B .
źródło
frameBorder
wielką literę B, w atrybucie HTML faktycznie zawsze nie jest rozróżniana wielkość liter. A w XHTML powinno być pisane małymi literamiframeborder
.Zgodnie z dokumentacją iframe frameBorder jest przestarzały i preferowane jest użycie atrybutu CSS „border”:
źródło
Oprócz dodania atrybutu frameBorder warto rozważyć ustawienie atrybutu przewijania na „nie”, aby zapobiec wyświetlaniu pasków przewijania.
źródło
W przypadku problemów specyficznych dla przeglądarki dodaj także
frameborder="0" hspace="0" vspace="0" marginheight="0" marginwidth="0"
zgodnie z programem Dreamweaver:źródło
Użyj atrybutu ramki iframe HTML
http://www.w3schools.com/tags/att_iframe_frameborder.asp
Uwaga: użyj ramki B (czapka B) dla IE, w przeciwnym razie nie będzie działać. Ale atrybut iframe frameborder nie jest obsługiwany w HTML5. Zamiast tego użyj CSS.
możesz również usunąć przewijanie za pomocą atrybutu przewijania http://www.w3schools.com/tags/att_iframe_scrolling.asp
Możesz także użyć atrybutu bezszwowego, który jest nowy w HTML5. Bezproblemowy atrybut tagu iframe jest obsługiwany tylko w Opera, Chrome i Safari. Gdy jest obecny, określa, że iframe powinien wyglądać tak, jakby był częścią dokumentu zawierającego (bez ramek i pasków przewijania). Na razie płynny atrybut tagu jest obsługiwany tylko w Opera, Chrome i Safari. Ale w niedalekiej przyszłości będzie to standardowe rozwiązanie i będzie kompatybilne ze wszystkimi przeglądarkami. http://www.w3schools.com/tags/att_iframe_seamless.asp
źródło
Możesz użyć
style="border:0;"
w swoim kodzie iframe. Jest to zalecany sposób usunięcia obramowania w HTML5.Sprawdź moje narzędzie generatora iframe HTML5 , aby dostosować iframe bez edytowania kodu.
źródło
Właściwość stylu może być używana w HTML5, jeśli chcesz usunąć bodera ramki lub cokolwiek, czego możesz użyć właściwości stylu. jak podano poniżej
Kod idzie tutaj
źródło
Dodaj atrybut frameBorder (Wielka litera „B”).
źródło
W ten sposób możesz to zrobić również za pomocą JavaScript. Znajduje wszelkie elementy iframe i usuwa ich ramki w IE i innych przeglądarkach (chociaż możesz po prostu ustawić styl „border: none;” w przeglądarkach innych niż IE zamiast używać JavaScript). I będzie działać, nawet jeśli zostanie użyty PO wygenerowaniu elementu iframe i umieszczeniu go w dokumencie (np. Elementy iframe dodane w zwykłym HTML, a nie JavaScript)!
Wydaje się, że działa, ponieważ IE tworzy ramkę, nie na elemencie iframe, jak można się spodziewać, ale na TREŚCI iframe - po utworzeniu iframe w BOM. ($ @ I * # @ !!! IE !!!)
Uwaga: Część IE będzie działać (oczywiście) tylko wtedy, gdy okno nadrzędne i element iframe pochodzą z SAMEGO pochodzenia (ta sama domena, port, protokół itp.). W przeciwnym razie skrypt otrzyma błędy „odmowa dostępu” w konsoli błędów IE. Jeśli tak się stanie, jedyną opcją jest ustawienie go przed wygenerowaniem, jak zauważyli inni, lub użycie niestandardowego atrybutu frameBorder = „0”. (lub po prostu niech IE wygląda nieprzyzwoicie - moja obecna ulubiona opcja;))
Zajęło mi WIELE godzin pracy do rozpaczy, żeby to rozgryźć ...
Cieszyć się. :)
źródło
Wypróbowałem wszystkie powyższe i jeśli to nie zadziała, spróbuj poniżej CSS rozwiązał problem. Co po prostu nakazuje przeglądarkom, aby nie dodawały marginesów ani marginesów.
źródło
Jeśli typem strony, na której umieszczasz element iframe, jest HTML5, możesz użyć
seamless
atrybutu w następujący sposób:Dokumenty Mozilli dotyczące atrybutu bezszwowego
źródło
W swoim arkuszu stylów dodaj
Jest to również opłacalna opcja.
źródło
Jeśli używasz ramki iFrame, aby dopasować szerokość i wysokość całego ekranu, co, jak zakładam, nie jest oparte na rozmiarze 300 x 300, musisz również ustawić marginesy ciała na „0” w następujący sposób:
źródło
Ten kod powinien działać zarówno w HTML 4, jak i 5.
źródło
Dodaj atrybut frameBorder lub użyj stylu z szerokością ramki 0px; lub ustaw styl ramki równy brak.
użyj dowolnego z poniżej 3:
źródło
ustaw także także border = "0px"
źródło
Próbować
Spowoduje to usunięcie obramowania ramki.
źródło
Użyj tego
Przykład:
źródło
Aby usunąć granicę, możesz użyć właściwości granicy CSS do none.
źródło
Po prostu dodaj atrybut w iframe tag frameborder = 0
<iframe src="" width="200" height="200" frameborder="0"></iframe>
źródło
1. Obramowanie zestawu Styl wbudowany: 0
2. Za pomocą atrybutu tag frameBorder Ustaw 0
3. jeśli mamy wiele I Frame Możemy dać klasę i wstawić css wewnętrznie lub zewnętrznie.
HTML:
CSS:
źródło
Miałem problem z dolną białą ramką i nie mogłem go naprawić za pomocą reguł ramki, marginesu i wypełnienia ... Więc dodaj
display:block;
ponieważ iframe jest elementem wbudowanym.Uwzględnia to spacje w kodzie HTML.
źródło
Działa z Firefox;)
źródło
źródło