Как мне удалить границу из iframe, встроенного в мое веб-приложение? Пример iframe:
<iframe src = "myURL" width = "300" height = "300">Browser not compatible.</iframe>
Я бы хотел, чтобы переход от содержимого на моей странице к содержимому iframe был плавным, при условии, что цвета фона согласованы. Целевым браузером является только IE6, и, к сожалению, решения для других не помогут.
Просто создайте класс типа ".nb {border: none;}" внутри тега <style>. Затем добавьте "class =" nb "" внутри тега <iframe>.






Добавьте атрибут frameBorder (обратите внимание на заглавная буква "B").
Так это выглядело бы так:
<iframe src = "myURL" width = "300" height = "300" frameBorder = "0">Browser not compatible.</iframe>
У меня ушла минута, чтобы понять, что в JavaScript вам просто нужен element.frameBorder = 0. нет .style и используйте 0, а не '0'
При проверке документа с помощью Сервис проверки разметкиframeBorder приводит к ошибке, поскольку он не совместим с HTML5: Атрибут frameborder в элементе iframe устарел. Вместо этого используйте CSS. В HTML5 я бы установил свойство CSS border:0. Есть ли способ сделать его обратно совместимым, не вызывая ошибок проверки?
@ MatthewT.Baker Конечно, посмотрите мой ответ на один из многих других вопросов об этом атрибуте: stackoverflow.com/a/20719286/1016716 Ой, я вижу, что забыл там заглавную букву B; Я отредактирую.
Вау, @MrLister, это почти как если бы это я написал. Спасибо, что указали мне правильное направление!
@MartinAndersson caniuse.com/#feat=iframe-seamless заявляет, что он вообще не поддерживается.
Ответ здесь правильный, однако комментарии, предполагающие использование атрибута seamless, уже неверны. Атрибут бесшовности был удален из спецификации: w3.org/TR/2014/REC-html5-20141028/…
Да, seamless на момент написания (2017-09-11) не очень хорошо поддерживается. или вообще видимо.
Обратите внимание, что хотя свойство JavaScript - frameBorder с заглавной буквой B, атрибут HTML на самом деле всегда был нечувствителен к регистру. А в XHTML это должно быть все в нижнем регистре frameborder.
В дополнение к добавлению атрибута frameBorder вы, возможно, захотите установить для атрибута прокрутки значение «no», чтобы предотвратить появление полос прокрутки.
<iframe src = "myURL" width = "300" height = "300" frameBorder = "0" scrolling = "no">Browser not compatible. </iframe >
Каков его эквивалент в HTML5?
style = "переполнение: скрыто"
Сойдя с ума, пытаясь удалить границу в IE7, я обнаружил, что атрибут frameBorder чувствителен к регистру.
Вы должны установить атрибут frameBorder с заглавной буквы B.
<iframe frameBorder = "0"></iframe>
ПРИМЕЧАНИЕ: изменения атрибута frameborder в «отладчике» F12 не будут отображаться IE6. Вместо этого добавьте атрибут в html-код.
Обратите внимание, что хотя свойство JavaScript - frameBorder с заглавной буквой B, атрибут HTML на самом деле всегда был нечувствителен к регистру. А в XHTML это должно быть все в нижнем регистре frameborder.
Для проблем, связанных с браузером, также добавьте 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>
Вы также можете сделать это с помощью 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 по атрибуту бесшовности
Он вообще не поддерживается.
iframe src = "XXXXXXXXXXXXXXX"
marginwidth = "0" marginheight = "0" width = "xxx" height = "xxx"
Работает с Firefox;)
возможно другой вопрос?
Я попробовал все вышеперечисленное, и если это не сработает для вас, попробуйте приведенный ниже 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 у меня не работал, но это сработало. Спасибо.
Вы можете использовать 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>
Прежде чем ответить на вопрос, всегда читайте существующие ответы. Этот ответ уже был дан. Вместо того, чтобы повторять ответ, проголосуйте за существующий ответ. Некоторые рекомендации по написанию хороших ответов можно найти в здесь.
<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.
Вы можете легко это сделать, используя генератор iframe