Удалить границу из IFrame

Как мне удалить границу из iframe, встроенного в мое веб-приложение? Пример iframe:

<iframe src = "myURL" width = "300" height = "300">Browser not compatible.</iframe>

Я бы хотел, чтобы переход от содержимого на моей странице к содержимому iframe был плавным, при условии, что цвета фона согласованы. Целевым браузером является только IE6, и, к сожалению, решения для других не помогут.

Вы можете легко это сделать, используя генератор iframe

Shan Eapen Koshy 29.09.2015 04:26

Просто создайте класс типа ".nb {border: none;}" внутри тега <style>. Затем добавьте "class =" nb "" внутри тега <iframe>.

Jim 07.04.2016 15:27
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
762
2
922 353
25
Перейти к ответу Данный вопрос помечен как решенный

Ответы 25

Ответ принят как подходящий

Добавьте атрибут frameBorder (обратите внимание на заглавная буква "B").

Так это выглядело бы так:

<iframe src = "myURL" width = "300" height = "300" frameBorder = "0">Browser not compatible.</iframe>

У меня ушла минута, чтобы понять, что в JavaScript вам просто нужен element.frameBorder = 0. нет .style и используйте 0, а не '0'

anderspitman 03.08.2014 03:34

При проверке документа с помощью Сервис проверки разметкиframeBorder приводит к ошибке, поскольку он не совместим с HTML5: Атрибут frameborder в элементе iframe устарел. Вместо этого используйте CSS. В HTML5 я бы установил свойство CSS border:0. Есть ли способ сделать его обратно совместимым, не вызывая ошибок проверки?

ᴍᴀᴛᴛ ʙᴀᴋᴇʀ 26.02.2015 14:31

@ MatthewT.Baker Конечно, посмотрите мой ответ на один из многих других вопросов об этом атрибуте: stackoverflow.com/a/20719286/1016716 Ой, я вижу, что забыл там заглавную букву B; Я отредактирую.

Mr Lister 09.04.2015 10:24

Вау, @MrLister, это почти как если бы это я написал. Спасибо, что указали мне правильное направление!

ᴍᴀᴛᴛ ʙᴀᴋᴇʀ 09.04.2015 12:23

@MartinAndersson caniuse.com/#feat=iframe-seamless заявляет, что он вообще не поддерживается.

Tim Büthe 19.06.2015 14:19

Ответ здесь правильный, однако комментарии, предполагающие использование атрибута seamless, уже неверны. Атрибут бесшовности был удален из спецификации: w3.org/TR/2014/REC-html5-20141028/…

Ron E 18.10.2016 19:49

Да, seamless на момент написания (2017-09-11) не очень хорошо поддерживается. или вообще видимо.

demaniak 11.09.2017 14:53

Обратите внимание, что хотя свойство JavaScript - frameBorder с заглавной буквой B, атрибут HTML на самом деле всегда был нечувствителен к регистру. А в XHTML это должно быть все в нижнем регистре frameborder.

Mr Lister 11.12.2019 11:03

В дополнение к добавлению атрибута frameBorder вы, возможно, захотите установить для атрибута прокрутки значение «no», чтобы предотвратить появление полос прокрутки.

<iframe src = "myURL" width = "300" height = "300" frameBorder = "0" scrolling = "no">Browser not compatible. </iframe > 

Каков его эквивалент в HTML5?

Daniel Springer 10.10.2016 19:09

style = "переполнение: скрыто"

user7892745 23.04.2017 05:11

Сойдя с ума, пытаясь удалить границу в IE7, я обнаружил, что атрибут frameBorder чувствителен к регистру.

Вы должны установить атрибут frameBorder с заглавной буквы B.

<iframe frameBorder = "0"></iframe>

ПРИМЕЧАНИЕ: изменения атрибута frameborder в «отладчике» F12 не будут отображаться IE6. Вместо этого добавьте атрибут в html-код.

user932567 07.09.2011 15:15

Обратите внимание, что хотя свойство JavaScript - frameBorder с заглавной буквой B, атрибут HTML на самом деле всегда был нечувствителен к регистру. А в XHTML это должно быть все в нижнем регистре frameborder.

Mr Lister 11.12.2019 11:05

Для проблем, связанных с браузером, также добавьте frameborder = "0" hspace = "0" vspace = "0" marginheight = "0" marginwidth = "0" согласно Dreamweaver:

<iframe src = "test.html" name = "banner" width = "300" marginwidth = "0" height = "300" marginheight = "0" align = "top" scrolling = "No" frameborder = "0" hspace = "0" vspace = "0">Browser not compatible. </iframe>

Согласно документации iframe, frameBorder устарел, и рекомендуется использовать атрибут CSS "border":

<iframe src = "test.html" style = "width: 100%; height: 400px; border: 0"></iframe>
  • Примечание. Свойство CSS border не дает нет желаемых результатов в IE6, 7 или 8.

Вы также можете сделать это с помощью JavaScript. Он найдет любые элементы iframe и удалит их границы в IE и других браузерах (хотя вы можете просто установить стиль «border: none;» в браузерах, отличных от IE, вместо использования JavaScript). И он будет работать, даже если он будет использоваться ПОСЛЕ того, как iframe будет сгенерирован и размещен в документе (например, iframe, который добавлен в обычном HTML, а не в JavaScript)!

Кажется, это работает, потому что IE создает границу не на элементе iframe, как вы ожидали, а на КОНТЕНТЕ iframe - после того, как iframe создан в спецификации. ($ @ & * # @ !!! IE !!!)

Примечание: часть IE будет работать (конечно) только в том случае, если родительское окно и iframe принадлежат ОДНОМУ источнику (тот же домен, порт, протокол и т. д.). В противном случае скрипт получит сообщение об ошибке «Доступ запрещен» в консоли ошибок IE. Если это произойдет, ваш единственный вариант - установить его до его создания, как отмечали другие, или использовать нестандартный атрибут frameBorder = "0". (или просто пусть IE выглядит уныло - мой текущий любимый вариант;))

Мне потребовалось МНОГО часов работы до отчаяния, чтобы понять это ...

Наслаждаться. :)

// =========================================================================
// Remove borders on iFrames

if (window.document.getElementsByTagName("iframe"))
   {
      var iFrameElements = window.document.getElementsByTagName("iframe");
      for (var i = 0; i < iFrameElements.length; i++)
         {
            iFrameElements[i].frameBorder = "0";   //  For other browsers.
            iFrameElements[i].setAttribute("frameBorder", "0");   //  For other browsers (just a backup for the above).
            iFrameElements[i].contentWindow.document.body.style.border = "none";   //  For IE.
         }
   }

Если тип документа страницы, на которой вы размещаете iframe, - HTML5, вы можете использовать атрибут seamless следующим образом:

<iframe src = "..." seamless = "seamless"></iframe>

Документы Mozilla по атрибуту бесшовности

швы like a great idea, but sadly is not well supported. caniuse.com/#search=seamless
code_monk 26.10.2014 16:32

Он вообще не поддерживается.

skobaljic 10.04.2015 13:29

iframe src = "XXXXXXXXXXXXXXX"
marginwidth = "0" marginheight = "0" width = "xxx" height = "xxx"

Работает с Firefox;)

возможно другой вопрос?

user7892745 23.04.2017 05:13

Я попробовал все вышеперечисленное, и если это не сработает для вас, попробуйте приведенный ниже CSS разрешил проблему для меня. Это просто говорит браузерам не добавлять отступы или поля.

* {
  padding:0px;
  margin:0px;
 }

Используйте атрибут HTML iframe frameborder

http://www.w3schools.com/tags/att_iframe_frameborder.asp

Примечание: используйте frameBorder (cap B) для IE, иначе работать не будет. Но атрибут iframe frameborder не поддерживается в HTML5. Итак, используйте вместо этого CSS.

<iframe src = "http://example.org" width = "200" height = "200" style = "border:0">

вы также можете удалить прокрутку с помощью атрибута прокрутки http://www.w3schools.com/tags/att_iframe_scrolling.asp

<iframe src = "http://example.org" width = "200" height = "200" scrolling = "no" style = "border:0">

Также вы можете использовать атрибут бесшовные, новый в HTML5. Атрибут бесшовные тега iframe поддерживается только в Opera, Chrome и Safari. Когда он присутствует, он указывает, что iframe должен выглядеть так, как будто он является частью содержащего документа (без границ или полос прокрутки). На данный момент атрибут бесшовные тега поддерживается только в Opera, Chrome и Safari. Но в ближайшем будущем это будет стандартное решение, которое будет совместимо со всеми браузерами. http://www.w3schools.com/tags/att_iframe_seamless.asp

В вашей таблице стилей добавьте

{
  padding:0px;
  margin:0px;
  border: 0px

}

Это тоже жизнеспособный вариант.

frameBorder у меня не работал, но это сработало. Спасибо.

Dois 02.10.2015 11:45

Вы можете использовать style = "border:0;" в своем коде iframe. Это рекомендуемый способ удаления рамки в HTML5.

Воспользуйтесь моим инструментом генератор iframe HTML5, чтобы настроить iframe без редактирования кода.

Добавьте атрибут frameBorder (заглавная «B»).

<iframe src = "myURL" width = "300" height = "300" frameBorder = "0">Browser not compatible. </iframe>

Если вы используете iFrame, чтобы соответствовать ширине и высоте всего экрана, что, как я предполагаю, вы не основываете на размере 300x300, вы также должны установить поля основного текста на «0» следующим образом:

<body style = "margin:0px;">

<iframe src = "mywebsite" frameborder = "0" style = "border: 0px solid white;">HTML iFrame is not compatible with your browser</iframe>

Этот код должен работать как в HTML 4, так и в 5.

также установите border = "0px"

 <iframe src = "yoururl" width = "100%" height = "100%" frameBorder = "0"></iframe>

Свойство стиля можно использовать Для HTML5, если вы хотите удалить границу фрейма или что-то еще, вы можете использовать свойство style. как указано ниже

Код идет сюда

<iframe src = "demo.htm" style = "border:none;"></iframe>

Пытаться

<iframe src = "url" style = "border:none;"></iframe>

Это удалит границу вашего кадра.

Чтобы удалить границу, вы можете использовать свойство CSS border to none.

<iframe src = "myURL" width = "300" height = "300" style = "border: none">Browser not compatible.</iframe>

Использовать это

style = "border:none;

Пример:

<iframe src = "your.html" style = "border:none;"></iframe>

Либо добавьте атрибут frameBorder, либо используйте style с шириной границы 0px; либо установите стиль границы равным none.

используйте любой из ниже 3:

<iframe src = "myURL" width = "300" height = "300" style = "border-width:0px;">Browser not compatible.</iframe>

<iframe src = "myURL" width = "300" height = "300" frameborder = "0">Browser not compatible.</iframe>

<iframe src = "myURL" width = "300" height = "300" style = "border:none;">Browser not compatible.</iframe>

Просто добавьте атрибут в тег iframe frameborder = 0 <iframe src = "" width = "200" height = "200" frameborder = "0"></iframe>

Прежде чем ответить на вопрос, всегда читайте существующие ответы. Этот ответ уже был дан. Вместо того, чтобы повторять ответ, проголосуйте за существующий ответ. Некоторые рекомендации по написанию хороших ответов можно найти в здесь.

dferenc 19.02.2018 00:31

<iframe src = "URL" frameborder = "0" width = "100%" height = "200">
<p>Your browser does not support iframes.</p>
</iframe>

<iframe frameborder = "1|0">

(OR)

<iframe src = "URL" width = "100%" height = "300" style = "border: none">Your browser 
does not support iframes.</iframe>

The <iframe> frameborder attribute is not supported in HTML5. Use CSS 
instead.

1.Через встроенный стиль установить границу: 0

 <iframe src = "display_file.html" style = "height: 400px; width:
   100%;border: 0;">HTML iFrame is not compatible with your browser
   </iframe>

2. С помощью атрибута тега frameBorder Set 0

<iframe src = "display_file.html" width = "300" height = "300" frameborder = "0">Browser not compatible.</iframe>

3. Если у нас есть несколько I Frame, мы можем дать класс и поместить css во внутренний или внешний.

HTML:

<iframe src = "display_file.html" class = "no_border_iframe">
    HTML iFrame is not compatible with your browser 
</iframe>

CSS:

<style>
.no_border_iframe{
border: 0; /* or border:none; */
}
</style>

У меня была проблема с нижней белой рамкой, и я не мог исправить ее с помощью правил границы, полей и заполнения ... Так что добавьте display:block;, потому что iframe является встроенным элементом.

При этом учитываются пробелы в вашем HTML.

Другие вопросы по теме