Документ с фреймами

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

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

20 ответов

Добавьте атрибут frameBorder (обратите внимание на капитал > B).

Итак, это будет выглядеть так:

 

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

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

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

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

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

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

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

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

Browser not compatible. 

Использование атрибута CSS «border» также работает:

  • Примечание. Свойство border границы CSS не достигает желаемых результатов в IE6, 7 или 8.

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

 

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

Откажитесь от моего html5 iframe generator для настройки вашего iframe без редактирования кода.

Использовать атрибут frameforder iframe HTML

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

 

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

 

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

Читайте также:  Тильда форма обратной связи html

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

Швы, как отличная идея, но, к сожалению, не очень хорошо поддерживается. caniuse.com/#search=seamless

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

Добавьте атрибут frameBorder (Capital ‘B).

 

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

Это работает, потому что IE создает границу, а не в элементе iframe, как вы ожидали, но в CONTENT iframe — после создания iframe в спецификации. ($ @& * # @. IE. )

Примечание. Часть IE будет работать только (конечно), если родительское окно и iframe находятся из ТОГО ИСТОЧНИКА (тот же домен, порт, протокол и т.д.). В противном случае script получит ошибки «отказа в доступе» в консоли ошибок 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. >> 

Источник

Границы между фреймами

Граница между фреймами отображается по умолчанию и, как правило, в виде трехмерной линии. Чтобы ее скрыть используется атрибут frameborder тега со значением 0 . Однако в браузере Opera граница хоть и становится в этом случае бледной, все же остается. Для этого браузера требуется добавить framespacing=»0″ . Таким образом, комбинируя разные атрибуты тега , получим универсальный код, который работает во всех браузерах. Линия при этом показываться никак не будет (пример 13.6).

Пример 13.6. Убираем границу между фреймами

Учтите, что атрибуты frameborder и framespacing не являются валидными и не соответствуют спецификации HTML.

Если граница между фреймами все же нужна, в браузере она рисуется по умолчанию, без задания каких-либо атрибутов. Можно, также, задать цвет рамки с помощью атрибута bordercolor , который может применяться в тегах и . Цвет указывается по его названию или шестнадцатеричному значению (пример 13.7), а толщина линии управляется атрибутом border . Браузер Opera игнорирует этот атрибут и обычно отображает линию черного цвета.

Читайте также:  Wordpress php query posts

Пример 13.7. Изменение цвета границы

Атрибуты bordercolor и border тега также не являются валидными и не признаются спецификацией HTML.

В данном примере линия между фреймами задается синего цвета толщиной пять пикселов. Линии различается по своему виду в разных браузерах, несмотря на одинаковые параметры (рис. 13.3).

Internet Explorer Opera Firefox

Рис. 13.3. Вид границы между фреймами в разных браузерах

Браузер Opera никак не изменяет цвет границы между фреймами, Internet Explorer устанавливает широкую границу практически сплошного цвета, а Firefox границу отображает в виде набора линий.

Источник

Фреймы

Фреймы — это HTML-элементы, позволяющие разделить окно веб-браузера на несколько независимых окон, в каждое из которых можно загрузить отдельный HTML-документ. Каждое такое окно (фрейм) может иметь собственные полосы прокрутки и функционировать независимо от других независимых окон либо наоборот управлять их содержанием. Они могут применяться для организации постоянно находящегося в одном окне меню, в то время как в другом окне располагается непосредственно сама информация. Пользователи могут обращаться к меню в любой момент, и им не нужно возвращаться к предыдущей странице, чтобы выбрать другой пункт меню. Применение фреймов позволит вам «закрепить» в окне браузера изображения или другие неподвижные по замыслу элементы интерфейса, в то время как остальная часть страницы будет прокручиваться во фрейме.
Однако, стоит отметить, что в наши дни фреймы считаются устаревшим средством, а сайты с фреймами теперь считаются несолидными, так как профессиональные веб-мастера никогда не используют фреймы в своих проектах. С фреймами связан целый ряд печально известных проблем. Они, например, сбивают с толку поисковые машины, поскольку на страницах, которые содержат контент, нет ссылок на другие документы. Если вы хотите получать посетителей с поисковых систем, забудьте о фреймах. Понравившуюся страницу пользователю невозможно поместить в раздел закладки браузера, так как фреймы скрывают адрес страницы, на которой он находится, и всегда показывают только адрес веб-сайта. По этой причине они создают проблемы для браузеров при отслеживании хронологии и еще они не слишком приспособлены для разных размеров экранов и мобильных устройств.
Несмотря на то, что проекты с фреймами встречаются во всемирной паутине все реже, изучение HTML было бы неполным без рассмотрения темы о фреймах. У фреймов наряду с недостатками есть и некоторые достоинства, которые не позволяют отбросить эту технологию как бесперспективную.

Создание фреймов

Структура HTML-документа с фреймами внешне очень напоминает формат обычного HTML-документа. Как и в обычном HTML-документе, весь код помещен между парными тегами и , а в контейнере располагаются заголовки. Основное отличие документа с фреймами от обычного HTML-документа — у документа с фреймами вместо тега применяется парный тег (от англ. frame set – набор фреймов).
В следующем примере приведена структура HTML-документа с фреймами:

Читайте также:  Случайная дата в php

Пример: Структура HTML-документа с фреймами

 

<p>Ваш браузер не отображает фреймы</p>
  • rows — описывает разбиение страницы на строки:
  • cols — описывает разбиение страницы на столбцы:

В значении атрибутов rows и cols необходимо указывать не количество строк или столбцов, а значение ширины и высоты фреймов. Все значения в списке разделяются запятыми. Размеры могут быть указаны в абсолютных единицах (в пикселах) или в процентах:

  • cols=»20%, 80%» — окно браузера разбивается на две колонки с помощью атрибута cols, левая колонка занимает 20%, а правая 80% окна браузера.
  • rows=»100, *» окно браузера разбивается на два горизонтальных окна с помощью атрибута rows, верхнее окно занимает 100 пикселов, а нижнее — оставшееся пространство, заданное символом звездочки.

Как видно из данного примера, контейнер с атрибутом rows вначале создает два горизонтальных фрейма, а вместо второго фрейма подставляется еще один , который разбивает нижний горизонтальный фрейм на две колонки с помощью атрибута cols, левая колонка занимает занимает 20%, а правая 80% окна браузера.
Если браузер не поддерживает фреймы, то в окне будет отображен текст, расположенный между тегами и . Все, что находится между тегами и , игнорируется браузерами, поддерживающими фреймы. Таким образом разработчику нужно написать код, дублирующий содержимое фреймов другими средствами, и поместить этот код в контейнер , тогда все пользователи смогут увидеть его веб-страницу.
Как уже отмечалось, для вставки в документ отдельного фрейма служит непарный тег . Атрибут src задает документ, который должен отображаться внутри данного фрейма, например: . Если атрибут src отсутствует, отображается пустой фрейм.

Границы или пространство между фреймами

По умолчанию, браузер отображает серую и, как правило, в виде трехмерной линии границу между фреймами, с помощью которой посетители могут регулировать размер фрейма.
Границей фрейма можно управлять, как и любыми другими элементами фрейма. Для этого существует несколько атрибутов элемента , позволяющих настраивать границы фреймов. Толщина линии границы определяется атрибутом border. По умолчанию значение толщины границы равно пяти.
Чтобы скрыть границу фрейма, необходимо либо указать значение ширины границы равным нулю, либо присвоить значение «no» или «0» атрибуту frameborder. Атрибут frameborder может принимать только два противоположных значения. Если значение атрибута frameborder равно «yes» или «1», то граница фреймов будет отображаться, а если «0» или «no», то нет. Учтите, что значения атрибута frameborder различаются для разных браузеров. Чтобы решить эту проблему используйте дважды атрибут frameborder, а для некоторых браузеров требуется еще добавить атрибут framespacing со значением «0»:

В следующем примере убираем границу между фреймами:

Источник

Оцените статью