Атрибут frameborder в HTML

Содержание

Атрибут frameborder в HTML

Подробнее «Попробуйте сами» примеры ниже.

Определение и использование

Тег не поддерживается в HTML5.

Тег определяет одно конкретное окно (фрейм) в .

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

Примечание: Если вы хотите проверить страницу, содержащую кадры, убедитесь, что имеет значение либо «HTML Frameset DTD» или «XHTML Frameset DTD».

Поддержка браузера

Элемент
Да Да Да Да Да

Различия между HTML 4,01 и HTML5

Тег не поддерживается в HTML5.

Различия между HTML и XHTML

В HTML тег не имеет конечного тега. В XHTML тег должен быть правильно закрыт.

Дополнительные атрибуты

Атрибут Значение Описание
frameborder 0
1
Не поддерживается в HTML5.
Указывает, следует ли отображать рамку вокруг фрейма
longdesc URL Не поддерживается в HTML5.
Задает страницу, содержащую подробное описание содержимого фрейма
marginheight pixels Не поддерживается в HTML5.
Определяет верхний и нижний пределы рамки
marginwidth pixels Не поддерживается в HTML5.
Задает левое и правое поля фрейма
name text Не поддерживается в HTML5.
Задает имя фрейма
noresize noresize Не поддерживается в HTML5.
Указывает, что фрейм не изменяется
scrolling yes
no
auto
Не поддерживается в HTML5.
Указывает, следует ли отображать полосы прокрутки в рамке
src URL Не поддерживается в HTML5.
Указывает URL-адрес документа, который должен отображаться в фрейме

Попробуйте сами-примеры

Horizontal frameset
Как сделать горизонтальный фрейм с тремя различными документами.

Mixed frameset
Как сделать набор фреймов с тремя документами и как их смешивать в строках и столбцах.

Frameset with noresize=»noresize»
Как использовать атрибут «noresize». Граница между фреймом A и B не изменяется.

Фреймы

На многих современных сайтах присутствуют « прилипающие » меню навигации, которые отображаются либо в боковой панели, либо в верхней части, когда вы прокручиваете страницу вверх и вниз. Но свойства CSS , которые позволяют создавать « прилипающие » меню, не всегда поддерживается браузерами. Ранее для реализации подобного функционала использовались фреймы в HTML .

Разница между Frames и Iframes

При использовании frameset вы разделяете видимую часть окна браузера на несколько фреймов. Каждый фрейм имеет собственное содержимое, которое не затрагивает содержимое следующего. Frames и Iframes выполняют аналогичную функцию — встраивают ресурс в веб-страницу, но они принципиально отличаются друг от друга:

  • Frames — это элементы, определяющие макет;
  • Iframes — элементы, добавляющие контент.

История и будущее фреймов

W3C признала фреймы устаревшими в HTML5 . Данное решение было аргументировано тем, что фреймы HTML отрицательно сказываются на юзабилити и доступности. Давайте разберемся, обоснованы ли эти претензии.

Проблемы с фреймами

  • Проблемы юзабилити: с увеличением популярности мобильных устройств с небольшими экранами возникла необходимость того, чтобы сайты предлагали пользователям несколько представлений, которые изменяются в зависимости от размера окна просмотра. Хотя фреймами можно манипулировать, чтобы обеспечить определенную степень адаптивности, но они не слишком хорошо подходят для создания адаптивных сайтов;
  • Доступность: экранные дикторы и другие вспомогательные технологии довольно плохо считывают и взаимодействуют с сайтами, которые используют фреймы.

В данный момент в веб-разработке прослеживается глобальная тенденция разделения содержимого веб-страницы от ее представления:

  • Содержимое должно добавляться и определяться разметкой, например, через HTML ;
  • Представление определяется языками, такими как CSS и JavaScript .

Использование фреймов изначально предполагает создание специфического внешнего вида и структуры, в то время как задачи представления должны обрабатываться с помощью CSS .

Будущее фреймов

Хотя на сегодняшний день все современные браузеры поддерживают фреймы, W3C однозначно заявила , что фреймы « не должны использоваться веб-разработчиками «. Если у вас есть сайт, который использует фреймы, вам стоит задуматься о переходе на другие технологии. В какой-то момент браузеры перестанут поддерживать фреймы, и, когда это произойдет, сайты, применяющие их, станут непригодными для использования.

Как сделать фреймы в HTML

В разработке новых сайтов фреймы использоваться не должны, но для веб-мастеров, которые занимаются поддержкой старых ресурсов, умение применять их может оказаться полезным.

Основная концепция фреймов

Основная концепция фреймов довольно проста:

  • Используйте элемент frameset в определенном месте элемента body в HTML-документе ;
  • Используйте элемент frame , чтобы создать фреймы для содержимого веб-страницы;
  • Используйте атрибут src для идентификации ресурса, который должен загружаться внутри фрейма;
  • Создайте для каждого фрейма HTML отдельный файл с содержимым.

Рассмотрим несколько примеров того, как это работает. Сначала нужно создать несколько HTML-документов , с которыми мы будем работать. Давайте создадим четыре различных HTML-документа . Вот, что будет содержать первый из них:

Первый документ мы сохраним, как frame_1.html . Остальные три документа будет иметь подобное содержимое, и называться соответственно.

Создание вертикальных столбцов

Чтобы создать набор из четырех вертикальных столбцов, нужно использовать элемент frameset с атрибутом cols . Атрибут cols используется для определения количества и размера столбцов, которые будет содержать frameset . В нашем случае у нас есть четыре файла для отображения. Следовательно, нам нужно четыре фрейма.

Чтобы их создать, нам нужно задать в атрибуте cols четыре значения, разделенные запятой. Для простоты мы присвоим каждому из фреймов значение * , это задаст для них размер, при котором они автоматически будут заполнять все свободное пространство. Вот, как будет выглядеть наша HTML-разметка :

А вот как эта разметка будет отображаться:

Создание горизонтальных строк

Строки фреймов HTML можно создать с помощью атрибута rows , а не атрибута cols , как в предыдущем примере:

Внеся это изменение, мы сделали так, что фреймы теперь загружаются в четыре ряда, друг над другом:

Объединение столбцов и строк

Столбцы и строки фреймов могут одновременно отображаться на той же странице. Можно вкладывать один фрейм внутрь другого. Для этого мы сначала создаем frameset , а затем вкладываем дочерний frameset внутрь родительского элемента. Вот пример того, как можно вложить две строки в набор из трех столбцов:

Фрейм в HTML пример:

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

Вот, как теперь будут отображаться фреймы:

Можно создать другие вложенные фреймы:

Этот код создает набор из двух одинаковых по размеру столбцов. Затем мы разделили второй столбец на две строки. И, наконец, мы разделили вторую строку на две колонки. Вот, как это будет выглядеть:

Другой способ создать комбинацию строк и столбцов — определить сетку столбцов и строк в одном фрейме. Например, если вы хотите создать сетку из четырех фреймов одинакового размера, можно использовать следующий код:

Полученная сетка строк и столбцов будет выглядеть следующим образом:

Как задавать стили для фреймов

Когда речь идет об определении стилей веб-страницы, которая использует фреймы в HTML , существуют два способа назначения стилей:

  • Определение стилей внутри каждого frame ;
  • Определение стилей для frameset .

Представление каждого frame должно определяться внутри исходного документа. Представление frameset должно определяться внутри родительского документа, содержащего frameset . Другими словами, стили для frame_1.html должны задаваться правилами CSS , содержащимися в файле frame_1.html , или в таблице стилей, связанной с файлом frame_1.html .

Определение стилей фреймов в исходном документе

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

Илон Маск рекомендует:  Атрибут cite в HTML

Применив стили CSS к веб-странице, которая содержит frameset , мы не сможем применить стили к каждому фрейму отдельно. Если мы хотим задать стили для frame_1.html , нам нужно добавить эти стили непосредственно в сам документ. Вот пример того, как это можно сделать:

Если мы вернемся к нашему предыдущему примеру создания фреймов в HTML с четырьмя столбцами одинакового размера и загрузим frameset после внесения этих изменений в файл frame_1.html , мы получим следующее:

Определение стилей и форматирование frameset

Как повлиять на представление frameset помимо определения стилей самих документов:

  • Может быть определен или зафиксирован размер каждого фрейма;
  • Может быть изменен отступ между фреймами;
  • Может быть задан формат рамки вокруг каждого фрейма.

Эти изменения вносятся не через CSS . Они осуществляются путем добавления атрибутов и их значений для элемента frame .

Определение размеров фреймов

Размеры фреймов могут задаваться в пикселях, процентах, либо фреймы могут автоматически занимать все свободное пространство. Чтобы указать размер фрейма, вставьте нужное значение в атрибут cols или rows . По умолчанию, если для фрейма не указан атрибут noresize , посетители сайта могут с помощью мыши перетащить границу между двумя фреймами, изменяя их размер. Если это нежелательно, то к элементу фрейма может быть применен атрибут noresize , и изменение его размеров будет невозможно. Объединим обе эти концепции на практике.

Мы создадим следующий макет:

  • Один ряд на всю ширину вдоль верхней части страницы;
  • Три столбца ниже верхнего ряда;
  • Размеры первого и третьего столбца задаются так, чтобы создать левый и правый сайдбары;
  • Размеры среднего столбца задаются так, чтобы он представлял собой большую область контента.

Мы можем создать фрейм HTML с помощью следующего кода:

Этот код создает frameset из двух рядов:

  • Первый ряд высотой 150 пикселей. Атрибут noresize , указанный для первого frame означает, что его размеры не могут быть изменены;
  • Стили, которые мы применяли ранее к frame_1.html сохраняются, но они влияют только на содержимое этого фрейма;
  • Второй ряд расширяется, чтобы заполнить оставшееся пространство;
  • Второй frameset вложен во второй ряд и содержит три столбца;
  • Первый и третий столбцы заполняют по 20% доступного пространства окна браузера;
  • Второй столбец расширяется таким образом, чтобы заполнить пространство, остающееся между первым и третьим столбцом;
  • Так как мы не указали для столбцов атрибут noresize , изначально они будут отображаться, исходя из размеров, заданных в коде.

Но посетитель сайта сможет вручную изменить их размеры.

Этот код создает веб-страницу, отображаемую следующим образом:

Форматирование рамки и отступов вокруг фрейма

Теперь, когда мы определили макет, если нам нужно, мы можем увеличить или уменьшить отступы между фреймами, а также удалить рамку между ними. Используя макет, который мы создали в предыдущем пункте, давайте удалим рамки между тремя столбцами, но оставим рамку между верхними и нижними рядами. Давайте также добавим отступ вокруг содержимого первого фрейма HTML :

Атрибут marginheight , примененный к первому фрейму, добавляет отступ в 15 пикселей выше и ниже содержимого, загружаемого в первом фрейме. Значение frameborder , равное 0, удаляет рамки для всех трех нижних фреймов. Вот как это будет выглядеть:

Указание фреймов с помощью ссылок

Одним из наиболее распространенных случаев использования фреймов является создание во фрейме « прилипающего » меню навигации, которое всегда видно независимо от положения содержимого других фреймов. При правильном применении, ссылки в меню навигации приводят к загрузке новых ресурсов во фрейме, в то время как остальные фреймы остаются статическими.

Можно отформатировать анкоры для указания конкретных фреймов через присвоение нужному элементу frame атрибута name и использование атрибута target внутри элемента a для загрузки href в указанном фрейме. Если все это немного сбивает вас с толку, давайте разберем процесс создания фреймов в HTML шаг за шагом.

Первым делом нам нужно присвоить name для фрейма, в котором должны открываться ссылки. В разметке, которую мы создали чуть ранее, можно использовать левый столбец для меню навигации, а центральный столбец в качестве целевого фрейма. Для этого нужно присвоить атрибут name целевому элементу:

Теперь, когда мы задали для центрального столбца name=»mid_col» , можно создать в исходном документе нашего левого столбца frame_2.html несколько ссылок:

Теперь, когда мы загрузим веб-страницу, в левой боковой панели будут размещаться четыре ссылки навигации. При нажатии на ссылку содержимое файла загружается во фрейме среднего столбца с атрибутом name=»mid_col» . Вот, что мы увидим при загрузке страницы:

Если нажмем ссылку Load frame_1.html , содержимое этого файла загрузится в центральном столбце, и мы получим следующее:

Если нажмем ссылку Load frame_2.html , то увидим, что и в левой боковой панели, и в центральном столбце будут отображаться ссылки навигации:

При нажатии ссылок Load frame_3.html и Load frame_4.html в центральном столбце будет загружаться содержимое этих файлов. Если бы мы забыли добавить для одной из ссылок атрибут target=»mid_col» , то при клике по ней файл будет загружаться в том фрейме, который содержит ссылку. Если мы хотим перезагрузить всю страницу, например, при переходе по ссылке на внешний сайт, нам нужно добавить атрибут target=»_blank» или target=»_top» .

Предоставление резервного варианта noframes

В прошлом элемент noframes использовался, чтобы создать резервный вариант для браузеров, которые не поддерживают фреймы HTML . На текущий момент все современные браузеры поддерживают фреймы, а noframes практически не поддерживается. В результате нам больше не нужно создавать резервный вариант noframes при работе с фреймами.

Как сделать фреймы адаптивными

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

Использование строк, а не столбцов

Если это возможно, организуйте фреймы в ряды, а не столбцы. На маленьком экране гораздо легче перемещаться по контенту по вертикали, чем по горизонтали. Фреймы в HTML , которые расположены в ряд, намного проще просматривать на небольшом экране. Если мы уменьшим ширину макетов, содержащих строки и столбцы, имитируя экран Apple IPhone 6 , то увидим, что строки намного удобнее просматривать, чем столбцы:

Используйте проценты для ширины столбцов

Когда размеры столбцов задаются в процентах, а не в пикселях, они будут автоматически изменяться в зависимости от размера экрана устройства. Хотя это может создать определенные проблемы, связанные с тем, что некоторые фреймы могут стать слишком маленькими, но в целом опыт взаимодействия и просмотра будет лучше, если общая ширина столбцов задается в процентах, а не в пикселях.

Как перейти с фреймов на другие технологии

И элемент frameset , и элемент frame были удалены из последней спецификации HTML5 . Владельцы сайтов, созданных с использованием фреймов, должны выполнить перестройку своих ресурсов, чтобы исключить их из макета. В какой-то момент браузеры откажутся от поддержки фреймов. Таким образом отказаться от фреймов — это не просто желательно, это необходимо сделать.

Оценка контента, содержащегося во фреймах

Первым шагом к реорганизации сайта, использующего плавающие фреймы HTML , должно стать определение причин, по которым используются именно фреймы:

  • Были ли фреймы использованы для создания конкретного макета? Если это так, для создания подобного макета может быть использован CSS ;
  • Были ли фреймы использованы для создания контейнера с рекламой определенных размеров? Есть много способов воссоздать данный эффект с помощью CSS или виджетов, предназначенных для работы с CMS ;
  • Были ли фреймы использованы для создания « прилипающих » меню навигации? Опять же, с помощью CSS может быть воссоздан тот же эффект;
  • Были ли фреймы использованы для загрузки контента с внешнего сайта? Если да, то элемент iframe, который является частью HTML5 , может быть использован для встраивания контента с внешнего сайта.

Практически в каждом случае можно использовать CSS , чтобы воссоздать макет, разработанный с применением фреймов, а iframe можно использовать для встраивания внешних ресурсов.

Стратегия для вашего нового сайта

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

Переход на CMS на начальном этапе потребует больше времени, но в долгосрочной перспективе преимущества от запуска современного сайта перевесят краткосрочные сложности. Чтобы помочь вам определиться с системой управления контентом, рекомендуем обратить внимание на три самые популярные из них:

Илон Маск рекомендует:  Что такое код ansiupperbuff

Дополнительные ресурсы

Если вы хотите узнать о фреймах HTML больше, лучшим источником для получения дополнительной информации является World Wide Web Consortium ( W3C ). Вот некоторые из страниц с информацией о фреймах:

  • Документация HTML4 о фреймах ;
  • Устаревшие функции HTML5

Связанные элементы

Название элемента Атрибуты Описание
noframes Элемент использовался внутри родительского , чтобы предоставить резервный вариант контента для пользователей, чьи браузеры, не поддерживали . На данный момент фреймы являются устаревшей технологией, поэтому элемент не должен использоваться.
iframe sandbox

width создает встроенный фрейм, который выводит в текущий документ независимый HTML-документ. frameset frameborder

bordercolor Элемент использовался, чтобы создать группу фреймов, которые могут управляться и стилизоваться, как одно целое. На данный момент фреймы в HTML устарели и не должны использоваться. frame Src

bordercolor Элемент использовался, чтобы разбить окно браузера на несколько независимых частей. На данный момент фреймы устарели и не должны использоваться.

Данная публикация представляет собой перевод статьи « Frames » , подготовленной дружной командой проекта Интернет-технологии.ру

iframe’s frameborder attribute — html5

I am reading my HTML book and it states that iframe’s scrolling and frameborder attributes are not supported in HTML5. The following code is declared in the book:

How comes the frameborder still works, if HTML5 does not support frameborder? If I don’t put in that frameborder=»0″ line, the browsers load it with a frame around the image, while the frameborder=»0″ line takes out the frame. I thought this attribute is not supported in HTML5?

At the same time, scrolling seems to obey the rule of it not being supported in HTML5, as that line makes no difference at all (whether i set it to 0 or 1). The scrollbar is not shown either.

I am learning HTML at the moment, but this is so bizarre to me. Can someone help clarify this for me by any chance? I tested this in both Firefox and Chrome.

3 Answers 3

The book has got it wrong. Specifications (or, in this case, draft specifications) do not “support” elements or attributes; browsers do. Specifications define elements and attributes, and they present conformance clauses that say that conforming browsers must support elements and attributes so-and-so. This generally does not exclude the possibility that conforming browsers support other elements and attributes as well. Besides, browsers may be non-conforming; in fact, there is probably no browser that conforms to any HTML specification or draft, strictly speaking (though the conformance might be “good enough”).

In the case of frameborder and HTML5, the HTML5 Proposed Recommendation specifies that browsers are expected to support the attribute. Clause 10.4.3 Attributes for embedded content and images says that certain CSS rules “ are expected to apply as presentational hints”, and they include the following:

This means that if an iframe element has the frameborder attribute with the value 0 or no (case insensitively), this corresponds to the CSS setting border: none on that element (defined to have specificity 0, so any explicit CSS setting of border on the element overrides it).

If this sounds odd, see section Conformance requirements. HTML5 has double standards, in the sense that it prohibits authors/document from using some constructs and yet requires or recommends browsers (and other user agents) to support them. So if you use frameborder , your document is non-conforming. Yet it is “expected” to be supported in a specific way.

The situation is in principle similar with the scrolling attribute. Its expected effect is that values on , scroll , and yes cause scrolling bars (like overflow: scroll ), values off , noscroll , and no prevent scroll bars; and value auto causes scrollbars when content does not fit (the default). However, none of Firefox, Chrome, IE seems to support the values that cause scrolling bars unconditionally, and only Firefox supports all of the values that prevent them, whereas Chrome and IE support just no .

This is understandable in the sense that scrolling=no is the attribute that browsers have traditionally supported. The other values are more or less an invention in the HTML5 draft, probably supposed to cover some values actually in use or supported.

The bottom line with this is that scrolling=no works. To cause scrollbars even when not needed for the content, scrolling=yes is not useful in practice (the corresponding CSS setting works).

HTML frameborder attribute

frameborder

The purpose of the HTML frameborder attribute is to specify whether or not to display a border around a frame.

The value of this attribute can be set to “1” or “0”.

Supported elements

HTML frameborder attribute supports frame and iframe elements.

Syntax

Type of value

Value

Value Description
1 To display a border around the frame / iframe. Default value.
Not to display a border around the frame/ iframe.

Default value

Supported doctypes

HTML 4.01 frameset.

Example of HTML frameborder attribute with frame

Result

View this example in a separate browser window

Example of HTML frameborder attribute with iframe

Result

View this example in a separate browser window

атрибут frameforder iframe — html5

Я читаю свою книгу в формате HTML, и в ней указано, что в HTML5 не поддерживаются прокрутки iframe и атрибуты рамки. В книге объявлен следующий код:

Каким образом фреймборд все еще работает, если HTML5 не поддерживает фреймборд? Если я не помещаю эту строку frameborder = «0», браузеры загружают ее рамкой вокруг изображения, а рамка frameborder = «0» вынимает рамку. Я думал, что этот атрибут не поддерживается в HTML5?

В то же время прокрутка, похоже, подчиняется тому, что правило не поддерживается в HTML5, так как эта строка не имеет никакого значения (устанавливаю ли ее значение 0 или 1). Полоса прокрутки также не отображается.

Я изучаю HTML на данный момент, но это так странно для меня. Может ли кто-нибудь помочь мне прояснить это для меня случайно? Я тестировал это как в Firefox, так и в Chrome.

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

В случае frameborder и HTML5 в предлагаемой рекомендации HTML5 указывается, что браузеры должны поддерживать атрибут. Пункт 10.4.3. Атрибуты для встроенного контента и изображений говорят о том, что некоторые правила CSS «должны применяться в качестве презентационных советов», и они включают следующее:

Это означает, что если в элементе iframe имеется атрибут frameborder со значением 0 или no (регистр нечувствителен), это соответствует border: none CSS border: none в этом элементе (определяется как спецификация 0, поэтому любая явная настройка CSS border на элемент переопределяет его).

Если это звучит странно, см. Раздел Требования к соответствию. HTML5 имеет двойные стандарты, в том смысле, что он запрещает авторам/документу использовать некоторые конструкции и все же требует или рекомендует браузеры (и другие пользовательские агенты) поддерживать их. Поэтому, если вы используете frameborder , ваш документ не соответствует требованиям. Тем не менее «ожидается» будет поддерживаться определенным образом.

Ситуация в принципе аналогична атрибуту scrolling . Его ожидаемый эффект заключается в том, что значения on , scroll и yes вызывают прокрутки (например, overflow: scroll ), значения off , noscroll и no полос прокрутки; и значение auto вызывает полосы прокрутки, когда содержимое не подходит (по умолчанию). Тем не менее, ни один из Firefox, Chrome, IE, похоже, не поддерживает значения, которые вызывают прокрутку баров безоговорочно, и только Firefox поддерживает все значения, которые их предотвращают, в то время как поддержка Chrome и IE просто no .

Это понятно в том смысле, что scrolling=no — это атрибут, который традиционно поддерживаются браузерами. Другие значения являются более или менее изобретением в проекте HTML5, вероятно, предполагается охватить некоторые значения, которые фактически используются или поддерживаются.

Суть в том, что scrolling=no работает. Чтобы вызвать полосы прокрутки, даже если они не нужны для содержимого, scrolling=yes на практике не полезна (соответствующая настройка CSS работает).

атрибут frameborder iframe — html5

Я читаю свою книгу HTML, и она утверждает, что атрибуты прокрутки и рамки рамки iframe не поддерживаются в HTML5. В книге объявлен следующий код:

Каким образом фреймборд все еще работает, если HTML5 не поддерживает фреймборд? Если я не помещаю эту строку frameborder = «0», браузеры загружают ее рамкой вокруг изображения, а рамка frameborder = «0» вынимает рамку. Я думал, что этот атрибут не поддерживается в HTML5?

В то же время прокрутка, похоже, подчиняется тому, что правило не поддерживается в HTML5, так как эта строка не имеет никакого значения (устанавливаю ли ее значение 0 или 1). Полоса прокрутки также не отображается.

Я изучаю HTML на данный момент, но это так странно для меня. Может ли кто-нибудь помочь мне прояснить это для меня случайно? Я тестировал это как в Firefox, так и в Chrome.

атрибут frameforder iframe — html5

Я читаю свою книгу в формате HTML, и в ней указано, что в HTML5 не поддерживаются прокрутки iframe и атрибуты рамки. В книге объявлен следующий код:

Каким образом фреймборд все еще работает, если HTML5 не поддерживает фреймборд? Если я не помещаю эту строку frameborder = «0», браузеры загружают ее рамкой вокруг изображения, а рамка frameborder = «0» вынимает рамку. Я думал, что этот атрибут не поддерживается в HTML5?

В то же время прокрутка, похоже, подчиняется тому, что правило не поддерживается в HTML5, так как эта строка не имеет никакого значения (устанавливаю ли ее значение 0 или 1). Полоса прокрутки также не отображается.

Я изучаю HTML на данный момент, но это так странно для меня. Может ли кто-нибудь помочь мне прояснить это для меня случайно? Я тестировал это как в Firefox, так и в Chrome.

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

В случае frameborder и HTML5 в предлагаемой рекомендации HTML5 указывается, что браузеры должны поддерживать атрибут. Пункт 10.4.3. Атрибуты для встроенного контента и изображений говорят о том, что некоторые правила CSS «должны применяться в качестве презентационных советов», и они включают следующее:

Это означает, что если в элементе iframe имеется атрибут frameborder со значением 0 или no (регистр нечувствителен), это соответствует border: none CSS border: none в этом элементе (определяется как спецификация 0, поэтому любая явная настройка CSS border на элемент переопределяет его).

Если это звучит странно, см. Раздел Требования к соответствию. HTML5 имеет двойные стандарты, в том смысле, что он запрещает авторам/документу использовать некоторые конструкции и все же требует или рекомендует браузеры (и другие пользовательские агенты) поддерживать их. Поэтому, если вы используете frameborder , ваш документ не соответствует требованиям. Тем не менее «ожидается» будет поддерживаться определенным образом.

Ситуация в принципе аналогична атрибуту scrolling . Его ожидаемый эффект заключается в том, что значения on , scroll и yes вызывают прокрутки (например, overflow: scroll ), значения off , noscroll и no полос прокрутки; и значение auto вызывает полосы прокрутки, когда содержимое не подходит (по умолчанию). Тем не менее, ни один из Firefox, Chrome, IE, похоже, не поддерживает значения, которые вызывают прокрутку баров безоговорочно, и только Firefox поддерживает все значения, которые их предотвращают, в то время как поддержка Chrome и IE просто no .

Это понятно в том смысле, что scrolling=no — это атрибут, который традиционно поддерживаются браузерами. Другие значения являются более или менее изобретением в проекте HTML5, вероятно, предполагается охватить некоторые значения, которые фактически используются или поддерживаются.

Суть в том, что scrolling=no работает. Чтобы вызвать полосы прокрутки, даже если они не нужны для содержимого, scrolling=yes на практике не полезна (соответствующая настройка CSS работает).

Атрибуты тега FRAME.

В предыдущей странице мы создали сырую пробную страницу с фреймами, а в этой мы будем наводить порядок.

scrolling этот атрибут тега FRAME, управляет полосой прокрутки для фреймов. Может принимать значения:
scrolling=»auto» это значение по умолчанию, можно не задавать, оно определяет что прокрутка возле фрейма будет только тогда когда это необходимо.
scrolling=»yes» это значение определяет что прокрутка будет всегда.
scrolling=»no» это значение определяет что прокрутки не будет не когда в данном фрейме.
В созданом нами frame.html ни каких прокруток не видно, потому что в каждом фрейме мало содержимого. Начнем редактировать logotip.html, мы этому фрейму задали высоту 150 пикселей, а картинка имеет размер 607 по ширине и 124 по высоте, теперь изменим масштаб изображения и зададим тегу IMG атрибуты w , далее сохраним наш файл и посмотрим что что в фрейме с файлом logotip.html появилась вертикальная прокрутка, но для нашего случая она не нужна, чтобы ее убрать мы используем атрибут scrolling с значением NO и наша проблема решится:

С размерами фреймов и объектов(в нашем случае картинка) нужно выдерживать точный размер если убираете прокрутку. Если объект будет больше чем значение атрибута rows или cols то часть ее будет скрытой. В конечном итоге если указатель мыши навести на бордюр(полоса), нажать правую кнопку и переместить фрейм то можно увидеть все скрытое содержимое. Попробуйте картинке задать значение height=»200″ и просто по растягивать фрейм.

Как запретить растягивание фрейма?. Я предложил вам порастягивать фрейм самостоятельно, но что делать если вы не хотите чтобы ваши пользователи растягивали ваш фрейм?, просто нужно добавить атрибут noresize тегу frame.

И наша проблема решится.

frameborder это атрибут, который используется только с тегом frame, он служит для управления бордюром(разделительной полосой) в фреймах. Может принимать значение:
frameborder=»1″ это значение по умолчанию, его задавать не обязательно. Но это значение говорит не о размере(толщине) а о его наличии.
frameborder=»0″ это значение используется чтобы скрыть бордюр вообще.

marginwidth атрибут тега frame, который используется только с этим тегом и управляет отступом между объектами(в том числе текстом) и краем фрейма по ширине.

marginheight тоже самое, но по высоте.
Эти атрибуты могут принимать значение в пикселях 1 или больше
пример: В этом примере мы сдвинули все содержание в право на 10 пикселей и опустили в низ на 5 пикселей.

Поиск по тегам:
Список всех тегов
А вы знаете что рекомендовано задавать тип документа?

Урок 4. HTML фреймы и гиперссылки

1. Организация HTML фреймов

HTML фреймы используются для разбивки окна браузера на несколько областей, каждая из которых представляет собой отдельный HTML-документ (фрейм или кадр).

Назначение HTML фреймов – это навигация (а не средство для разметки страницы). Идея фрейма заключается в том, чтобы разделить экран на несколько областей или окон. Это позволяет одновременно видеть больше одного документа и дает возможность на все время закрепить навигацию на экране.

При использовании простого дизайна с двумя HTML фреймами (рис.1) задействовано три документа:

  • документ, описывающий фреймовую структуру,
  • документ для левого фрейма,
  • документ для правого фрейма.

Рис. 1. Простая фреймовая структура из двух фреймов

Фреймы содержатся в структуре и , замещающей в странице с фреймами структуру и

HTML тег

Тег определяет область в окне браузера, фрейм, куда можно загрузить другую веб-страницу. Для указания адреса этой веб-страницы используется атрибут src . Таких фреймов на одной веб-странице может быть несколько.

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

Тег не поддерживается в HTML5. Вместо него используйте тег .

Синтаксис

Закрывающий тег для тега необязателен.

Пример

Результат

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

Илон Маск рекомендует:  Определение координат указателя мыши на JavaScript
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Информация: