Frame примеры. Пример: Убираем границу между фреймами. Проблемы с фреймами

Вертикальное расположение фреймов
Как сделать колонку фреймов из трех различных документов.

Горизонтальное расположение фреймов
Как сделать строку фреймов из трех различных документов.

(Вы найдете больше примеров внизу этой страницы).

HTML Фреймы

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

Недостатки в использовании фреймов:

  • Фреймы могут перестать поддерживаться в будущих версиях HTML
  • Фреймы сложно использовать. (Печать старницы целиком затруднительна).
  • Веб разработчик должен следить за большим количеством HTML документов.

HTML Элемент frameset

Элемент frameset содержит один или более элементов frame. Каждый элемент frame может содержать отдельный документ.

Элемент frameset указывает СКОЛЬКО столбцов или строк будет в наборе фреймов, и СКОЛЬКО процентов/пикселей пространства будет занимать каждый фрейм.

HTML Элемент frame

Тег определяет одно отдельное окно (фрейм) внутри набора фреймов (frameset).

В пример ниже мы имеем набор фреймов с двумя столбцами.

Первый столбец занимает 25% ширины окна браузера. Второй столбец занимает 75% ширины окна браузера. Документ "frame_a.htm" помещен в первый столбце, и документ "frame_b.htm" помещен во второй столбец:




Замечание: Размер столбца в наборе фреймов может также быть указан в пикселях (cols="200,500"), и один из столбцов может использовать оставшееся пространство, для чего надо указать вместо ширины звездочку (cols="25%,*").

Совет: Если фрейм имеет видимые границы, пользователь может изменить его размер перетаскиванием границы. Чтобы запретить изменение размера фрейма таким способом, вы можете добавить noresize="noresize" в тег .

Замечание: Добавьте тег для браузеров, которые не поддерживают фреймы.</p> <p><b>Важно: </b> Вы не можете использовать теги <body></body> вместе с тегами <frameset></frameset>! Однако, если вы добавите тег <noframes> содержащий некоторый текст для браузеров, которые не поддерживают фреймы, вы заключаете этот текст в теги <body></body>! Смотрите как это делается в первом примере ниже.</p> <table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="left" width="48"> </td> <td align="left" valign="middle"><h3>Еще примеры</h3> </td> </tr></table><p>Использование тега <noframes> <br> Как использовать тег <noframes> (для браузеров, которые не поддерживают фреймы).</p> <p>Вложенные наборы фреймов <br> Как создать вложенные наборы фреймов.</p> <p>Набор фреймов с атрибутом noresize="noresize" <br> Как использовать атрибут noresize. Переместите мышь на границу между фреймами и убедитесь, что не можете ее перетащить.</p> <p>Фрейм навигации <br> Как сделать фрейм навигации. Этот фрейм содержит список ссылок со вторым фреймом в качестве назначения, где будут открываться эти ссылки. Файл "tryhtml_contents.htm" содержит три ссылки. Исходный код ссылок:<br> <a href ="frame_a.htm" target ="showframe">Frame a</a><br><br> <a href ="frame_b.htm" target ="showframe">Frame b</a><br><br> <a href ="frame_c.htm" target ="showframe">Frame c</a><br> Второй фрейм показывает залинкованный документ.</p> <p>Переход к определенному разделу внутри фрейма <br> Два фрейма. Один из фреймов имеет ссылку на определенный раздел в файле. Этот раздел помечается как <a name="C10"> в файле "link.htm".</p> <p>На многих современных сайтах присутствуют «прилипающие » меню навигации, которые отображаются либо в боковой панели, либо в верхней части, когда вы прокручиваете страницу вверх и вниз. Но свойства CSS , которые позволяют создавать «прилипающие » меню, не всегда поддерживается браузерами. Ранее для реализации подобного функционала использовались фреймы в HTML .</p> <h2>Разница между Frames и Iframes</h2> <p>При использовании frameset вы разделяете видимую часть окна браузера на несколько фреймов. Каждый фрейм имеет собственное содержимое, которое не затрагивает содержимое следующего. Frames и Iframes выполняют аналогичную функцию — встраивают ресурс в веб-страницу, но они принципиально отличаются друг от друга:</p> <ul><li>Frames — это элементы, определяющие макет;</li> <li>Iframes — элементы, добавляющие контент.</li> </ul><h3>История и будущее фреймов</h3> <p>W3C признала фреймы устаревшими </span> в HTML5 . Данное решение было аргументировано тем, что фреймы HTML отрицательно сказываются на юзабилити и доступности. Давайте разберемся, обоснованы ли эти претензии.</p> <h3>Проблемы с фреймами</h3> <ul><li><span>Проблемы юзабилити: </span> с увеличением популярности мобильных устройств с небольшими экранами возникла необходимость того, чтобы сайты предлагали пользователям несколько представлений, которые изменяются в зависимости от размера окна просмотра. Хотя фреймами можно манипулировать, чтобы обеспечить определенную степень адаптивности, но они не слишком хорошо подходят для создания адаптивных сайтов;</li> <li>Доступность: экранные дикторы и другие вспомогательные технологии довольно плохо считывают и взаимодействуют с сайтами, которые используют фреймы.</li> </ul><p>В данный момент в веб-разработке прослеживается глобальная тенденция разделения содержимого веб-страницы от ее представления:</p> <ul><li>Содержимое должно добавляться и определяться разметкой, например, через HTML ;</li> <li>Представление определяется языками, такими как CSS и JavaScript .</li> </ul><p>Использование фреймов изначально предполагает создание специфического внешнего вида и структуры, в то время как задачи представления должны обрабатываться с помощью CSS .</p> <h3>Будущее фреймов</h3> <p>Хотя на сегодняшний день все современные браузеры поддерживают фреймы, <span>W3C однозначно заявила </span>, что фреймы «<span>не должны использоваться веб-разработчиками </span>«. Если у вас есть сайт, который использует фреймы, вам стоит задуматься о переходе на другие технологии. В какой-то момент браузеры перестанут поддерживать фреймы, и, когда это произойдет, сайты, применяющие их, станут непригодными для использования.</p> <h3>Как сделать фреймы в HTML</h3> <p>В разработке новых сайтов фреймы использоваться не должны, но для веб-мастеров, которые занимаются поддержкой старых ресурсов, умение применять их может оказаться полезным.</p> <h3>Основная концепция фреймов</h3> <p>Основная концепция фреймов довольно проста:</p> <ul><li>Используйте элемент frameset в определенном месте элемента <span>body в HTML-документе </span>;</li> <li>Используйте элемент frame , чтобы создать фреймы для содержимого веб-страницы;</li> <li>Используйте атрибут src для идентификации ресурса, который должен загружаться внутри фрейма;</li> <li>Создайте для каждого фрейма HTML отдельный файл с содержимым.</li> </ul><p>Рассмотрим несколько примеров того, как это работает. Сначала нужно создать несколько HTML-документов , с которыми мы будем работать. Давайте создадим четыре различных HTML-документа . Вот, что будет содержать первый из них:</p> <p><!DOCTYPE html> <html> <body> <h1>Frame 1</h1> <p>Contents of Frame 1</p> </body> </html></p> <p>Первый документ мы сохраним, как frame_1.html . Остальные три документа будет иметь подобное содержимое, и называться соответственно.</p> <h3>Создание вертикальных столбцов</h3> <p>Чтобы создать набор из четырех вертикальных столбцов, нужно использовать элемент frameset с атрибутом cols . Атрибут cols используется для определения количества и размера столбцов, которые будет содержать frameset . В нашем случае у нас есть четыре файла для отображения. Следовательно, нам нужно четыре фрейма.</p> <p>Чтобы их создать, нам нужно задать в атрибуте cols четыре значения, разделенные запятой. Для простоты мы присвоим каждому из фреймов значение * , это задаст для них размер, при котором они автоматически будут заполнять все свободное пространство. Вот, как будет выглядеть наша HTML-разметка :</p> <p><!DOCTYPE html> <html> <frameset cols="*,*,*,*"> <frame src="../file_path/frame_1.html"> <frame src="frame_2.html"> <frame src="frame_3.html"> <frame src="frame_4.html"> </frameset> </html></p> <p>А вот как эта разметка будет отображаться:</p> <h3>Создание горизонтальных строк</h3> <p>Строки фреймов HTML можно создать с помощью атрибута rows , а не атрибута cols , как в предыдущем примере:</p> <p><!DOCTYPE html> <html> <frameset rows="*,*,*,*"> <frame src="frame_1.html"> <frame src="frame_2.html"> <frame src="frame_3.html"> <frame src="frame_4.html"> </frameset> </html></p> <p>Внеся это изменение, мы сделали так, что фреймы теперь загружаются в четыре ряда, друг над другом:</p> <p><br><img src='https://i1.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/rows-150855.jpg' width="100%" loading=lazy></p> <h3>Объединение столбцов и строк</h3> <p>Столбцы и строки фреймов могут одновременно отображаться на той же странице. Можно вкладывать один фрейм внутрь другого. Для этого мы сначала создаем frameset , а затем вкладываем дочерний frameset внутрь родительского элемента. Вот пример того, как можно вложить две строки в набор из трех столбцов:</p> <p>frameset cols="*,*,*"> <frameset rows="*,*"> <frame src="frame_1.html"> <frame src="frame_2.html"> </frameset> <frame src="frame_3.html"> <frame src="frame_4.html"> </frameset></p> <p>Фрейм в HTML пример:</p> <p><br><img src='https://i0.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/mixedframes-150853.jpg' width="100%" loading=lazy></p> <p>Вложенный frameset располагается внутри родительского элемента, первого фрейма. Вложенный элемент может быть размещен в любом месте. Например, если мы хотим, чтобы вложенный элемент размещался в центре, то просто переставляем элементы следующим образом:</p> <p><frameset cols="*,*,*"> <frame src="frame_1.html"> <frameset rows="*,*"> <frame src="frame_2.html"> <frame src="frame_3.html"> </frameset> <frame src="frame_4.html"> </frameset></p> <p>Вот, как теперь будут отображаться фреймы:</p> <p><br><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/mixedmiddleframes-150853.jpg' width="100%" loading=lazy></p> <p>Можно создать другие вложенные фреймы:</p> <p><frameset cols="*,*"> <frame src="frame_1.html"> <frameset rows="*,*"> <frame src="frame_2.html"> <frameset cols="*,*"> <frame src="frame_3.html"> <frame src="frame_4.html"> </frameset> </frameset> </frameset></p> <p>Этот код создает набор из двух одинаковых по размеру столбцов. Затем мы разделили второй столбец на две строки. И, наконец, мы разделили вторую строку на две колонки. Вот, как это будет выглядеть:</p> <p><br><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/threelayersframes-150852.jpg' width="100%" loading=lazy></p> <p>Другой способ создать комбинацию строк и столбцов — определить сетку столбцов и строк в одном фрейме. Например, если вы хотите создать сетку из четырех фреймов одинакового размера, можно использовать следующий код:</p> <p><frameset rows="*,*" cols="*,*"> <frame src="frame_1.html"> <frame src="frame_2.html"> <frame src="frame_3.html"> <frame src="frame_4.html"> </frameset></p> <p>Полученная сетка строк и столбцов будет выглядеть следующим образом:</p> <p><br><img src='https://i0.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/framegrid-150852.jpg' width="100%" loading=lazy></p> <h3>Как задавать стили для фреймов</h3> <p>Когда речь идет об определении стилей веб-страницы, которая использует фреймы в HTML , существуют два способа назначения стилей:</p> <ul><li>Определение стилей внутри каждого frame ;</li> <li>Определение стилей для frameset .</li> </ul><p>Представление каждого frame должно определяться внутри исходного документа. Представление frameset должно определяться внутри родительского документа, содержащего frameset . Другими словами, стили для frame_1.html должны задаваться правилами CSS , содержащимися в файле frame_1.html , или в таблице стилей, связанной с файлом frame_1.html .</p> <h3>Определение стилей фреймов в исходном документе</h3> <p>Как и для любой веб-страницы, стили для содержимого каждого фрейма могут задаваться с помощью CSS . Чтобы задать стили содержимого каждого фрейма, они должны быть добавлены к основному документу либо через ссылку на внешний файл стилей, либо через добавление внутренних или встроенных стилей. Принимая во внимание то, что у нас есть четыре исходных документа, стили CSS должны применяться к каждому документу отдельно.</p> <p>Применив стили CSS к веб-странице, которая содержит frameset , мы не сможем применить стили к каждому фрейму отдельно. Если мы хотим задать стили для frame_1.html , нам нужно добавить эти стили непосредственно в сам документ. Вот пример того, как это можно сделать:</p> <p><!DOCTYPE html> <html> <head> <style> body {background: gray;} h1 {color: blue;} p {margin: 20px;} </style> </head> <body> <h1>Frame 1</h1> <p>Contents of Frame 1</p> </body> </html></p> <p>Если мы вернемся к нашему предыдущему примеру создания фреймов в HTML с четырьмя столбцами одинакового размера и загрузим frameset после внесения этих изменений в файл frame_1.html , мы получим следующее:</p> <p><br><img src='https://i1.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/stylesonframe1-150850.jpg' width="100%" loading=lazy></p> <h3>Определение стилей и форматирование frameset</h3> <p>Как повлиять на представление frameset помимо определения стилей самих документов:</p> <ul><li>Может быть определен или зафиксирован размер каждого фрейма;</li> <li>Может быть изменен отступ между фреймами;</li> <li>Может быть задан формат рамки вокруг каждого фрейма.</li> </ul><p>Эти изменения вносятся не через CSS . Они осуществляются путем добавления атрибутов и их значений для элемента frame .</p> <h3>Определение размеров фреймов</h3> <p>Размеры фреймов могут задаваться в пикселях, процентах, либо фреймы могут автоматически занимать все свободное пространство. Чтобы указать размер фрейма, вставьте нужное значение в атрибут cols или rows . По умолчанию, если для фрейма не указан атрибут noresize , посетители сайта могут с помощью мыши перетащить границу между двумя фреймами, изменяя их размер. Если это нежелательно, то к элементу фрейма может быть применен атрибут noresize , и изменение его размеров будет невозможно. Объединим обе эти концепции на практике.</p> <p>Мы создадим следующий макет:</p> <ul><li>Один ряд на всю ширину вдоль верхней части страницы;</li> <li>Три столбца ниже верхнего ряда;</li> <li>Размеры первого и третьего столбца задаются так, чтобы создать левый и правый сайдбары;</li> <li>Размеры среднего столбца задаются так, чтобы он представлял собой большую область контента.</li> </ul><p>Мы можем создать фрейм HTML с помощью следующего кода:</p> <p><frameset rows="150px,*"> <frame noresize src="frame_1.html"> <frameset cols="20%,*,20%"> <frame src="frame_2.html"> <frame src="frame_3.html"> <frame src="frame_4.html"> </frameset> </frameset></p> <p>Этот код создает frameset из двух рядов:</p> <ul><li>Первый ряд высотой 150 пикселей. Атрибут noresize , указанный для первого frame означает, что его размеры не могут быть изменены;</li> <li>Стили, которые мы применяли ранее к frame_1.html сохраняются, но они влияют только на содержимое этого фрейма;</li> <li>Второй ряд расширяется, чтобы заполнить оставшееся пространство;</li> <li>Второй frameset вложен во второй ряд и содержит три столбца;</li> <li>Первый и третий столбцы заполняют по 20% доступного пространства окна браузера;</li> <li>Второй столбец расширяется таким образом, чтобы заполнить пространство, остающееся между первым и третьим столбцом;</li> <li>Так как мы не указали для столбцов атрибут noresize , изначально они будут отображаться, исходя из размеров, заданных в коде.</li> </ul><p>Но посетитель сайта сможет вручную изменить их размеры.</p> <p>Этот код создает веб-страницу, отображаемую следующим образом:</p> <p><br><img src='https://i1.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/sizedframes-150847.jpg' width="100%" loading=lazy></p> <h3>Форматирование рамки и отступов вокруг фрейма</h3> <p>Теперь, когда мы определили макет, если нам нужно, мы можем увеличить или уменьшить отступы между фреймами, а также удалить рамку между ними. Используя макет, который мы создали в предыдущем пункте, давайте удалим рамки между тремя столбцами, но оставим рамку между верхними и нижними рядами. Давайте также добавим отступ вокруг содержимого первого фрейма HTML :</p> <p><frameset rows="150px,*"> <frame noresize src="frame_1.html" marginheight="15"> <frameset cols="20%,*,20%"> <frame src="frame_2.html" frameborder="0"> <frame src="frame_3.html" frameborder="0"> <frame src="frame_4.html" frameborder="0"> </frameset> </frameset></p> <p>Атрибут marginheight , примененный к первому фрейму, добавляет отступ в 15 пикселей выше и ниже содержимого, загружаемого в первом фрейме. Значение frameborder , равное 0, удаляет рамки для всех трех нижних фреймов. Вот как это будет выглядеть:</p> <p><br><img src='https://i0.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/bordersandmargins-150846.jpg' width="100%" loading=lazy></p> <h3>Указание фреймов с помощью ссылок</h3> <p>Одним из наиболее распространенных случаев использования фреймов является создание во фрейме «прилипающего » меню навигации, которое всегда видно независимо от положения содержимого других фреймов. При правильном применении, ссылки в меню навигации приводят к загрузке новых ресурсов во фрейме, в то время как остальные фреймы остаются статическими.</p> <p>Можно отформатировать анкоры для указания конкретных фреймов через присвоение нужному элементу frame атрибута name и использование атрибута target внутри элемента a для загрузки href в указанном фрейме. Если все это немного сбивает вас с толку, давайте разберем процесс создания фреймов в HTML шаг за шагом.</p> <p>Первым делом нам нужно присвоить name для фрейма, в котором должны открываться ссылки. В разметке, которую мы создали чуть ранее, можно использовать левый столбец для меню навигации, а центральный столбец в качестве целевого фрейма. Для этого нужно присвоить атрибут name целевому элементу:</p> <p><frameset rows="150px,*"> <frame noresize src="frame_1.html" marginheight="15"> <frameset cols="20%,*,20%"> <frame src="frame_2.html" frameborder="0"> <frame src="frame_3.html" name="mid_col" frameborder="0"> <frame src="frame_4.html" frameborder="0"> </frameset> </frameset></p> <p>Теперь, когда мы задали для центрального столбца name=»mid_col» , можно создать в исходном документе нашего левого столбца frame_2.html несколько ссылок:</p> <p><!DOCTYPE html> <html> <body> <h1>Frame 2</h1> <p>Contents of Frame 2</p> <ul> <li>Load frame_1.html</li> <li>Load frame_2.html</li> <li>Load frame_3.html</li> <li>Load frame_4.html</li> </ul> </body> </html></p> <p>Теперь, когда мы загрузим веб-страницу, в левой боковой панели будут размещаться четыре ссылки навигации. При нажатии на ссылку содержимое файла загружается во фрейме среднего столбца с атрибутом name=»mid_col» . Вот, что мы увидим при загрузке страницы:</p> <p><br><img src='https://i1.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/links-150844.jpg' width="100%" loading=lazy></p> <p><br><img src='https://i0.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/linksframe1-150844.jpg' width="100%" loading=lazy></p> <p><br><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/linksframe2-150842.jpg' width="100%" loading=lazy></p> <p>При нажатии ссылок Load frame_3.html и Load frame_4.html в центральном столбце будет загружаться содержимое этих файлов. Если бы мы забыли добавить для одной из ссылок атрибут target=»mid_col» , то при клике по ней файл будет загружаться в том фрейме, который содержит ссылку. Если мы хотим перезагрузить всю страницу, например, при переходе по ссылке на внешний сайт, нам нужно добавить атрибут target=»_blank» или target=»_top» .</p> <h3>Предоставление резервного варианта noframes</h3> <p>В прошлом элемент noframes использовался, чтобы создать резервный вариант для браузеров, которые не поддерживают фреймы HTML . На текущий момент все современные браузеры поддерживают фреймы, а noframes практически не поддерживается. В результате нам больше не нужно создавать резервный вариант noframes при работе с фреймами.</p> <h3>Как сделать фреймы адаптивными</h3> <p>При применении фреймов довольно сложно обеспечить удобство использования для посетителей, заходящих на сайт со смартфонов и небольших планшетов. Так как фреймы были полностью удалены из HTML5 и считаются устаревшими, важно, чтобы владельцы сайтов, созданных с использованием фреймов, запланировали перестройку своих ресурсов и переход на другие технологии.</p> <h3>Использование строк, а не столбцов</h3> <p>Если это возможно, организуйте фреймы в ряды, а не столбцы. На маленьком экране гораздо легче перемещаться по контенту по вертикали, чем по горизонтали. Фреймы в HTML , которые расположены в ряд, намного проще просматривать на небольшом экране. Если мы уменьшим ширину макетов, содержащих строки и столбцы, имитируя экран Apple IPhone 6 , то увидим, что строки намного удобнее просматривать, чем столбцы:</p> <p><br><img src='https://i2.wp.com/internet-technologies.ru/wp-content/uploads/articles/201702/compared-150841.jpg' width="100%" loading=lazy></p> <h3>Используйте проценты для ширины столбцов</h3> <p>Когда размеры столбцов задаются в процентах, а не в пикселях, они будут автоматически изменяться в зависимости от размера экрана устройства. Хотя это может создать определенные проблемы, связанные с тем, что некоторые фреймы могут стать слишком маленькими, но в целом опыт взаимодействия и просмотра будет лучше, если общая ширина столбцов задается в процентах, а не в пикселях.</p> <h3>Как перейти с фреймов на другие технологии</h3> <p>И элемент frameset , и элемент frame были удалены из последней спецификации HTML5 . Владельцы сайтов, созданных с использованием фреймов, должны выполнить перестройку своих ресурсов, чтобы исключить их из макета. В какой-то момент браузеры откажутся от поддержки фреймов. Таким образом отказаться от фреймов — это не просто желательно, это необходимо сделать.</p> <h3>Оценка контента, содержащегося во фреймах</h3> <p>Первым шагом к реорганизации сайта, использующего плавающие фреймы HTML , должно стать определение причин, по которым используются именно фреймы:</p> <ul><li>Были ли фреймы использованы для создания конкретного макета? Если это так, для создания подобного макета может быть использован CSS ;</li> <li>Были ли фреймы использованы для создания контейнера с рекламой определенных размеров? Есть много способов воссоздать данный эффект с помощью CSS или виджетов, предназначенных для работы с CMS ;</li> <li>Были ли фреймы использованы для создания «прилипающих » меню навигации? Опять же, с помощью CSS может быть воссоздан тот же эффект;</li> <li>Были ли фреймы использованы для загрузки контента с внешнего сайта? Если да, то элемент iframe, который является частью HTML5 , может быть использован для встраивания контента с внешнего сайта.</li> </ul><p>Практически в каждом случае можно использовать CSS , чтобы воссоздать макет, разработанный с применением фреймов, а iframe можно использовать для встраивания внешних ресурсов.</p> <p>Окно браузера может быть разделено на части, которые называются фреймами, иногда кадрами; можно их назвать и подокнами. В каждую такую часть окна браузера, т.е. фрейм, может быть загружен отдельный HTML документ. Рассмотрим пример окна браузера с тремя фреймами.</p> <p>В каждый фрейм в этом случае для наглядности загружен простой HTML документ, сообщающий номер фрейма и название файла, хранящего его содержимое. Если в фрейм будет загружен реальный документ, который не помещается полностью в нем, то у фрейма (внимание, не у всего окна!) появятся вертикальная и/или горизонтальная полосы прокрутки в зависимости от того, по горизонтали и/или по вертикали не помещается содержимое документа.<br> Например, дизайн и структура вашего сайта таковы, что есть одинаковые элементы, повторяющиеся на каждой странице сайта: название, навигационное меню, адрес в конце страницы или какие-то иные подобные элементы. Изменяется только содержание разделов. Тогда страницы можно разбить на части таким образом, чтобы неизменяемые части были помещены в отдельные фреймы, а еще один фрейм выделить для того, чтобы в него загружалось содержимое нужного раздела после щелчка на соответствующей ссылке, например, из меню.<br> Это дает экономию в скорости загрузки, так как одинаковые части страниц сайта повторно не загружаются, а просто все время отображаются в отведенных им фреймах.</p> <h2>Создание структуры фреймов элемент FRAMESET</h2> <p>Структура разбивки окна хранится в отдельном HTML документе, он и называется документом с фреймами. Структура фреймов формируется при помощи специального элемента FRAMESET. Обычный документ имеет один раздел HEAD и один раздел BODY, тогда как в документе с фреймами раздел BODY заменяется описанием структуры фреймов, Т.е. разделом FRAMESET.<br> В раздел FRAMESET может быть добавлен элемент NOFRAME с альтернативным содержанием для отображения в браузерах, не поддерживающих фреймы, или в браузерах с отключенной поддержкой фреймов. Такие браузеры просто не поймут структуры FRAMESET и NOFRAME, а отобразят помещенный внутри них текст.</p> <HТМL> <HEAD> <span> <TITLE>Простой документ с фреймами</ТIТLЕ> </span> </HEAD> <FRAМESET > <span> ...описание структуры фреймов... </span> <NOFRAМES> <span> Альтернативное содержание для браузеров, не поддерживающих фреймы </span> </NOFRAМES> </FRAМESET> </HТМL> <p>Обратите внимание, что раздел BODY в документе отсутствует полностью, а элемент NOFRAMES содержится внутри раздела FRAMESET.<br> Сама структура фреймов формируется делением окна браузера на части — строки и колонки; В какой-то степени это похоже не создание таблиц. Для этого у элемента FRAMESET существуют атрибуты cols и rows, задающие деление на колонки и строки соответственно.<br> Единицы измерения, в которых можно задавать размеры фреймов, это, как обычно, пиксели и проценты. Есть еще возможность задавать размер в новой пока для нас единице измерения, которую условно можно назвать «часть» окна. Значения атрибутов cols и rows задаются перечислением размеров соответствующих областей через запятую. Можно комбинировать разные способы задания. Рассмотрим несколько примеров, исходя из предположения, что размер окна браузера 800х600 пикселей.</p> <FRAМESET rows= "50%, 50%"> </FRAМESET> <p>Такой код поделит окно по горизонтали на два одинаковых по высоте фрейма (строки). Если задать атрибут cols=» 50%, 50%», то получим две одинаковые по ширине колонки.</p> <span><FRAМESET cols= "120, 400. *"> </span> <span> . . . продолжение определения структуры фреймов. . . </span> </FRAМESET> <p>При таком коде получим три колонки фреймов: левая шириной 120 пикселей, средняя шириной 400 пикселей, а на третью колонку отводится все, что останется от первых двух колонок, в атрибуте это значение обозначается символом звездочки «*».</p> <FRAМESET cols= "1*, 4*"> <span> . . . продолжение определения структуры фреймов. . . </span> </FRAМESET> <p>Такой код создаст две колонки фреймов. Ширина первой принимается за единицу (это обозначается как 1 * или просто *), ширина второй в четыре раза больше. Таким образом, ширина первой будет 20%, а ширина второй 80% от общей ширины окна браузера.</p> <span><FRAМESET cols= "100, 40%, *"> </span> <span> . . . продолжение определения структуры фреймов... </span> </FRAМESET> <p>В приведенном мере комбинируются все три способа задания размеров. Ширина первой колонки будет равна 100 пикселей, для второй отводится 40% оставшейся ширины (800 — 100 = 700), и на третью остается все, что не занято первой и второй колонками.<br> Раздел FRAMESET может содержать вложенные разделы FRAMESET, что позволяет создать довольно сложную структуру фреймов. Допустим, нам надо разделить окно на 4 фрейма следующим образом:</p> <p><img src='https://i1.wp.com/samsebewebmaster.ru/wp-content/uploads/2016/06/Fr-1.jpg' align="center" width="100%" loading=lazy></p> <p>Сначала необходимо организовать 2 колонки таким образом:</p> cols= "100, * " <p>Затем вторую колонку поделить на три строки таким образом:</p> rows=" 80, *, 30" <p>Отдельный фрейм, точнее его описание, задается элементом FRAME и его атрибутами: подробнее о нем чуть позже. Вернемся к вложенным элементам FRAMESET. Рассмотрим пример кода, создающего такую структуру фреймов:</p> <FRAМESET cols= "100, * "> <span> <FRAМE name= "framel" src= "framel.html"> </span> <span> <FRAМESET rows= "80, *, 30"> </span> <span> <FRAМE name= "frame2" src= "frame2.html"> </span> <span> <FRAМE name= "frame3" src= "frame3.html"> </span> <span> <FRAМE name= "frame4" src= "frame4.html"> </span> </FRAМESET> </FRAМESET> <p>Каким образом разбивается окно на фреймы, вроде бы разобрались. При создании фреймов можно сделать так, чтобы границы между фреймами видно не было. Как вы, наверное, уже догадались, делается это при помощи атрибута border его значение должно равняться нулю. Но дело в том, что для фреймов этот атрибут не воспринимается браузером Internet Explorer, зато поддерживается браузером Netscape Navigator. Для Internet Explorer граница между фреймами задается атрибутом frameborder, который не поддерживается браузером Netscape Navigator. Получается, что необходимо задавать одинаковые значения для обоих атрибутов, чтобы оба браузера восприняли HTML код одинаково и толщина границ между фреймами была одинаковой.<br> Толщину границ или, по-другому, расстояние между фреймами также можно регулировать атрибутом framespacing, значение которого задается в пикселях. Все атрибуты элемента FRAMESET приведены в таблице.</p> <h2>Атрибуты элемента <FRAMESEТ></h2> <table cellspacing="1" cellpadding="15"><tbody><tr><td bgcolor="#E7E7E7" width="20%"> <h3>Атрибут</h3> </td> <td bgcolor="#E7E7E7" width="60%"> <h3>Описание</h3> </td> <td bgcolor="#E7E7E7" width="20%"> <h3>Пример</h3> </td> </tr></tbody></table><table cellspacing="1" cellpadding="15"><tbody><tr><td bgcolor="#E7E7E7" width="20%">rows </td> <td bgcolor="#E7E7E7" width="60%">Определяет количество и размеры горизонтальных фреймов (фреймов строк) в окне браузера. В качестве значения задается список размеров фреймов через запятую. Способы задания размеров: <p>а) в процентах от высоты рабочей области окна браузера например: "30%, 30%, 40%" ;</p> <p>б) в виде знака «*» (звездочка), говорящего о том, что фрейм занимает все свободное пространство окна браузера, незанятое другими фреймами с явно указанными размерами например, звездочка в записи "25%, 25%, *" равносильна 50%;</p> <p>в) в пикселях например: "75, *" .</p> <p>Все три способа можно совмещать.</p> </td> <td bgcolor="#E7E7E7" width="20%"> rows= "25%, 25%, *" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">cols </td> <td bgcolor="#E7E7E7" width="60%">Определяет количество и размеры вертикальных фреймов (фреймов столбцов) в окне браузера. В качестве значения<br> задается список размеров фреймов через запятую. Размеры задаются так же, как и в предыдущем параметре ROWS. </td> <td bgcolor="#E7E7E7" width="20%"> cols= "265, *" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">border </td> <td bgcolor="#E7E7E7" width="60%">Определяет ширину рамок фреймов в пикселях. Данный параметр действует только в браузерах Netscape. </td> <td bgcolor="#E7E7E7" width="20%"> Border= "0" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">frameborder </td> <td bgcolor="#E7E7E7" width="60%">Данный параметр действует только в браузерах lnternet Explorer и определяет наличие рамок у содержащихся внутри элемента FRAMESET фреймов. Возможные значения: Yes отображать рамки; No или 0 не отображать рамки. </td> <td bgcolor="#E7E7E7" width="20%"> Frameborder= "0" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">framespacing </td> <td bgcolor="#E7E7E7" width="60%">Определяет расстояние (так называемую «серую область») между фреймами в пикселях. Данный параметр также необходим для создания фреймов без рамок. </td> <td bgcolor="#E7E7E7" width="20%"> framespacing= "0" </td> </tr></tbody></table><p>Теперь вернемся к элементу FRAME, который описывает отдельный фрейм внутри всей структуры. Обязательный параметр для него — атрибут src, который задает URL HTML — документа или изображения для отображения в этом фрейме. Также лучше задать фрейму имя при помощи атрибута name. Это позволит использовать данное имя в качестве значения атрибута target элемента А и управлять тем, в какой фрейм должна загружаться ссылка. Имена фреймов не могут начинаться с цифр, в качестве начальных символов допустимы только буквы латинскою алфавита (az, AZ).</p> <p>Когда в структуре фреймов не задана рамка между фреймами, их содержимое может слишком плотно примыкать друг к другу, что будет не очень красиво выглядеть. Если хотите раздвинуть содержимое фреймов и при этом все-таки не включать отображение границ между ними, то это можно сделать, задав внутри фреймов отступы. Размер этих отступов задается в пикселях и попарно: для отступов сверху и снизу атрибутом marginheight,<br> а для отступов справа и слева атрибутом marginwidth. Тогда расстояние между содержимым соседних фреймов будет равно сумме соответствующих отступов этих фреймов.</p> <p>Должна ли отображаться рамка вокруг отдельною фрейма, определяется его атрибутом frameborder. Значение yes (или 1) говорит о том, что рамка должна быть, значение no (или 0) указывает, что рамки быть не должно.<br> Пользователь может изменять размер фреймов, созданный HTML документом. Для этого достаточно подвести курсор мыши к границе фреймов (неважно, видны эти границы или нет) и стандартным для операционной системы способом изменить размер окна.<br> В Windows курсор мыши примет вид двунаправленной черной стрелки. Нажав левую кнопку мыши, можно передвинуть границу окна. Аналогично можно изменить и размер фрейма, поскольку фрейм это тоже окно. Если вы рассчитали размеры своих фреймов и не хотите, чтобы пользователь менял их, задайте атрибут noresize. В результате изменение размеров будет запрещено.<br> Как мы уже говорили ранее, полосы прокрутки у фрейма появляются в том случае, если его содержимое в заданных его границах полностью не помещается. Наличие полос прокрутки регулируется атрибутом scrolling. Допустимы три значения yes, no и auto.<br> Значение auto соответствует автоматическому появлению полос прокрутки в тех случаях, когда это действительно необходимо. Если содержимое видно и так, полос прокрутки нет, если часть содержимого не помещается появляется нужная полоса прокрутки.<br> Значение yes включает обе полосы прокрутки независимо от того, нужны они или нет. Иногда это может выглядеть не очень красиво.<br> Значение no запрещает показывать полосы прокрутки совсем. Будьте осторожны с этим значением, поскольку при его указании можете лишить пользователя возможности увидеть все содержимое фрейма, Когда оно не помещается в нем полностью. Все атрибуты элемента FRAME приведены в таблице.</p> <h2>Атрибуты элемента <FRAME></h2> <table cellspacing="1" cellpadding="15"><tbody><tr><td bgcolor="#E7E7E7" width="20%"> <h3>Атрибут</h3> </td> <td bgcolor="#E7E7E7" width="60%"> <h3>Описание</h3> </td> <td bgcolor="#E7E7E7" width="20%"> <h3>Пример</h3> </td> </tr></tbody></table><table cellspacing="1" cellpadding="15"><tbody><tr><td bgcolor="#E7E7E7" width="20%">src </td> <td bgcolor="#E7E7E7" width="60%">Обязательный параметр. Указывает адрес (URL) HTL<br> файла, отображаемого в данном фрейме </td> <td bgcolor="#E7E7E7" width="20%"> src= "frame2 .html" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">name </td> <td bgcolor="#E7E7E7" width="60%">Определяет имя данного фрейма, которое будет в дальнейшем использоваться для ссылки на него из других документов с помощью атрибута target (см. элемент А). В качестве значения нужно указать любое имя без пробелов с использованием латинских символов и цифр<br> (начальными символами могут быть только буквы латинского алфавита: a-z, A-Z). Имя не должно начинаться с цифр и специальных символов. Зарезервированные имена фреймов начинаются со знака подчеркивания. </td> <td bgcolor="#E7E7E7" width="20%"> name= "menu1" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">marginwidth </td> <td bgcolor="#E7E7E7" width="60%">Определяет ширину (в пикселях) левого и правого полей фрейма. Если параметр не указан, браузер самостоятельно определит оптимальный размер отступа. </td> <td bgcolor="#E7E7E7" width="20%"> marginwidth= "0" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">marginheight </td> <td bgcolor="#E7E7E7" width="60%">Определяет ширину (в пикселях) верхнего и нижнего полей фрейма. Если параметр не указан, браузер самостоятельно определит оптимальный размер отступа. </td> <td bgcolor="#E7E7E7" width="20%"> marginheight= "0" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">scrolling </td> <td bgcolor="#E7E7E7" width="60%">Определяет наличие полос прокрутки содержимого фрейма. Возможные значения:<br> yes — отображать полосы прокрутки;<br> no — не отображать полосы прокрутки;<br> auto — отображать полосы прокрутки при необходимости (если документ, указанный в параметре SRC, не умещается во фрейме) </td> <td bgcolor="#E7E7E7" width="20%"> scrolling= "auto" </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">noresize </td> <td bgcolor="#E7E7E7" width="60%">Не позволяет изменять размеры фрейма. Данный параметр является флагом и не требует указания значения. </td> <td bgcolor="#E7E7E7" width="20%"> noresize </td> </tr><tr><td bgcolor="#E7E7E7" width="20%">frameborder </td> <td bgcolor="#E7E7E7" width="60%">Определяет наличие рамок у фрейма. Возможные значения:<br> yes или 1 — отображать рамки;<br> no или 0 — не отображать рамки. </td> <td bgcolor="#E7E7E7" width="20%"> frameborder= "0" </td> </tr></tbody></table> <p>В любом редакторе текста сделайте новый текстовой файл.</p> <p>Введите главные теги, не считая тегов <body></body>, которые в файле, описывающем фреймы, не употребляются. В тегах <title></title> заголовка укажите - Компания SD:</p><p> <html> <head> <title>Компания SD</title> </head> </html> </p><p>Заместо тегов <body></body> в файле, описывающем фреймы, употребляется пара тегов <frameset></frameset> с атрибутами rows либо cols, определяющими, как делится экран - по горизонтали либо по вертикали. В качестве значений этих атрибутов можно использовать числовое значение высоты либо ширины фрейма в пикселах либо в процентах от 1% до 100%. К примеру, если вы желаете поделить окно браузера по горизонтали на два равных по размеру фрейма, то код HTML должен быть таким:</p> <p><frameset rows="50%, 50%"></p> <p>Направьте внимание: значения атрибутов отделяются один от другого запятой.</p> <h2>Вертикальное разделение фреймов (frame)</h2> <p>Чтоб поделить окно браузера по вертикали на два фрейма шириной 200 и 600 пикселов, следует написать:</p> <p><frameset cols="200.600"></p> <p>Но фактическая ширина и высота окна фрейма находится в зависимости от текущего разрешения монитора. Потому, если у пользователя установлено разрешение, к примеру, 1024 x 768 пикселов, другими словами ширина экрана - 1024 пиксела, то часть экрана может остаться незаполненной. Потому рекомендуется задавать размеры фреймов в процентах так, чтоб их сумма была равна 100%. Если все таки нужно для 1-го из окон указать фиксированный размер в пикселах, то размер другого окна можно не указывать, заменив его значение эмблемой *. В данном случае браузер сам подберет подходящий размер для второго окна.</p> <p>Сделаем для отображения нашего WEB сайта два вертикальных фрейма. Для первого фрейма, в каком будет выводиться меню, установим фиксированную ширину - 160 пикселов, а размер второго предоставим найти браузеру, заменив его звездочкой *.</p> <p>В редакторе текста, воткните пустую строчку после закрывающего тега </head> и введите последующий код:</p> <p><frameset cols="160, *"></p> <p></frameset></p> <p>Таким способом, мы указали, что окно браузера должно быть разбито по вертикали на два фрейма. Для описания каждого фрейма в отдельности употребляются одиночные теги <frame>, которые обязаны находиться внутри элемента <frameset>…</frameset>. Неотклонимым атрибутом тега <frame> является src, значение его - адресок документа, который должен находиться в данном фрейме. Потому что в первом фрейме будет находиться файл menu.html, то данный тег следует записать так:</p> <p><frame src="menu.html"></p> <p>Воткните пустую строчку после открывающего тега <frameset> и введите обозначенный тег.</p> <p>Во второй фрейм должен загружаться файл other.html, потому второй тег <frame> будет таким:</p> <p><frame src="other.html"></p> <h2>Как сделать меню с помощью фреймов (frame)</h2> <p>Чтоб во второй фрейм могли загружаться также и все другие странички WEB сайта - list.html и другие, которые, может быть, будут сделаны, - нужно при помощи атрибута name присвоить данному фрейму имя, которое, будучи обозначено в ссылках хоть какого документа в качестве значения атрибута target, обусловит, в какой конкретно фрейм следует загрузить документ. Напомним, что в общем случае, при переходе по ссылке новый документ раскрывается в том же окне. Конкретно для того, чтоб при переходе по ссылкам нашего меню странички раскрывались не в первом фрейме, в каком размещено меню, а во втором, мы использовали в прошлом опыте в ссылках меню атрибут target со значением "frame": target="frame", где "frame" - это имя второго фрейма. И сейчас имя "frame" следует присвоить второму фрейму, в каком должен раскрываться файл other.html. Потому второй тег <frame> в окончательном виде должен быть записан так:</p> <p><frame src="other.html" name="frame"></p> <p>Введите этот код, вставив пустую строчку перед закрывающим тегом </frameset>.</p> <h2>Собираем основной фрейм (frame)</h2> <p>Сохраните файл в папке WEB под именованием index.html.</p> <p>Имя index.html должно непременно присваиваться файлу с главной страничкой каждого WEB сайта. Конкретно этот файл раскрывается по умолчанию при воззвании к WEB узлу, если не обозначено другое название файла. На неких WEB сайтах имя главной странички может быть index.htm, a index.html отображается не как страничка, как папка с названиями файлов. Это нужно уточнять у админа узла.</p> <p>Сейчас можно просмотреть, как смотрятся сделанные фреймы.</p> <p>Откройте в браузере файл index.html из папки WEB. Вы увидите, что окно программки просмотра разбито по вертикали на два фрейма. В левом фрейме отображается меню, а в правом - файл other.html.</p> <p>Направьте внимание, что каждый фрейм имеет свои полосы прокрутки. По мере надобности их отображение можно отменить. Для этого довольно в теге <frame> указать атрибут scrolling=no.</p> <p>Добавьте в тег, описывающий первый фрейм, атрибут scrolling=no:</p> <p><frame src="menu.html" scrolling=no></p> <p>Видите ли, фреймы - комфортное средство для размещения инфы на WEB страничках. Но, используя его, не следует терять чувства меры. Очень огромное количество окон на дисплее не улучшает восприятие информации. Не располагайте на дисплее более трех фреймов и пытайтесь не использовать их без необходимости.</p> <h2>Главные минусы фреймов (frame)</h2> <p>Основной минус использования фреймов состоит в том, что такая страничка фактически никак не могут быть найдена поисковыми машинами и как следует вы не получите на такую страничку гостей. В этом и заключается основной минус. Также фреймы вызывают нагрузку на вычислительные мощности компьютера. Естественно, это в наше время не очень актуально, но актуально для мобильных устройств, где скорость прорисовки WEB страничек еще мучается. Напомню, что на конец 2010 года, WEB пользуются через мобильные устройства около 10% и эта цифра с каждым годом вырастает.</p> <h2>Результат</h2> <p>Итак, первый шаг нашей работы закончен - мы сделали WEB сайт из двух WEB страничек. Сейчас, чтоб он стал доступен всем, его нужно поместить в Интернет на один из серверов World Wide WEB.</p> <h2>Как сделать страничку с фреймами</h2> <p>В программке FrontPage фреймы именуются рамками. Проще всего сделать страничку с фреймами на базе одного из готовых шаблонов, имеющихся в программке FrontPage.</p> <p>Изберите команду меню Файл - Сделать (File - New). В правой части рабочего окна программки появится Область задач (Task Pane) с активной задачей Создание (New).</p> <p>В разделе Сделать страничку (New page) Области задач (Task Pane) щелкните мышью на ссылке Другие шаблоны страничек (More page templates). На дисплее появится диалог Шаблоны страничек (Page Templates).</p> <p>Изберите вкладку Страничка рамок (Frames Pages).</p> <p>На этой вкладке имеется набор шаблонов для сотворения страничек с фреймами. При выборе шаблона, начальный вид странички отображается справа в поле Эталон (Preview), а в поле Описание (Description) выводится описание шаблона.</p> <p>Изберите один из шаблонов, к примеру Оглавление (Contents), и нажмите кнопку ОК. Будет сотворена новенькая страничка с фреймами по избранному шаблону.</p> <p>В нижней части вновь сделанной вкладки нов_стр_1.htm (new_page_1.htm) появится дополнительная кнопка Без рамок (No Frame), нажав на которую, мы увидим, как будет смотреться страничка в браузере, не поддерживающем работу с фреймами. По умолчанию туда помещается текст сообщения о невозможности отображения фреймов.</p> <p>Когда браузер загружает страничку с фреймами, он читает информацию о фреймах и потом загружает исходную страничку в каждый фрейм. Потому после сотворения странички с фреймами нужно задать для фреймов исходные странички.</p> <p>В режиме редактирования Конструктор (Design) представления Страничка (Page) в пустых фреймах показываются кнопки.</p> <p>Нажмите кнопку Сделать страничку (New Page) в каждом фрейме. Внутри фреймов будут сделаны новые странички.</p> <p>При помощи другой кнопки Задать исходную страничку (Set Initial Page) можно избрать для фрейма одну из ранее сделанных страничек в качестве исходной.</p> <p>Изберите в меню команду Файл - Сохранить (File - Save), чтобы сохранить новые странички. На дисплее поочередно появятся обычные диалоги сохранения файлов Сохранить как (Save As) для каждой странички, в каких необходимо указать названия файлов. Укажите, к примеру, для исходной странички левого фрейма имя LeftFrame, для исходной странички правого фрейма - имя RightFrame, а для самой странички с фреймами - имя FrameContainer.</p> <p>Если вы избрали шаблон Оглавление (Contents) при разработке странички с фреймами, то в нем уже имеется установленная связь между фреймами: активизация ссылки, помещенной в левый фрейм, будет вызывать загрузку страничек, на которую показывает ссылка, в правый фрейм. В данном случае правый фрейм именуется мотивированным фреймом (target frame).</p> <p>Чтобы проверить, как работает связь между фреймами, поместим на страничку левого фрейма две текстовые ссылки. Пусть одна из их ссылается, к примеру на исходную страничку правого фрейма, а другая - на главную страничку WEB сайта.</p> <p>Установите текстовый курсор в начало странички в левом фрейме и наберите фразу Ссылка на главную страничку.</p> <p>Выделите набранную фразу при помощи мыши либо клавиатуры и изберите команду меню Вставка - Ссылка (Insert - Hyperlink). На дисплее появится диалог Добавление гиперссылки (Create Hyperlink).</p> <p>В перечне файлов WEB сайта изберите файл домашней странички index и нажмите кнопку ОК. Набранная фраза будет преобразована в ссылку.</p> <p>Выделите набранную фразу при помощи мыши либо клавиатуры и щелкните на кнопке добавление гиперссылки на панели инструментов Стандартная (Standard). На дисплее появится диалог Добавление гиперссылки (Create Hyperlink).</p> <p>В перечне файлов WEB сайта изберите RightFrame и нажмите кнопку ОК. Набранная фраза будет преобразована в ссылку.</p> <p>Переключитесь в режим подготовительного просмотра, щелкнув на кнопке Просмотр (Preview) в нижней части вкладки FrameContainer.htm.</p> <p>По мере надобности можно поменять мотивированной фрейм для отдельной ссылки либо для всех ссылок в текущем фрейме.</p> <p>В режиме редактирования Конструктор (Design) представления Страничка (Page) щелкните правой кнопкой мыши на одной из ссылок в левом фрейме и в показавшемся контекстном меню изберите команду Характеристики гиперссылки (Hyperlink Properties). На дисплее появится диалог Изменение гиперссылки (Edit Hyperlink).</p> <p>(Target Frame). На дисплее появится диалог Конечная рамка (Target Frame).</p> <p>В поле Настройка объекта (Target setting) можно указать мотивированной фрейм либо избрать один из вариантов в перечне Общие объекты (Common targets). Флаг Установить для странички по умолчанию (Set as page default) позволяет использовать избранный мотивированной фрейм для всех ссылок странички, где очевидно не указан какой-нибудь другой.</p> <p>Нажмите кнопку ОК, чтобы закрыть диалог Конечная рамка (Target Frame), и потом кнопку ОК в диалоге Изменение гиперссылки (Edit Hyperlink).</p> <p>Хотя фреймы не содержат собственных зрительных частей, страничка с фреймами и сами фреймы имеют ряд опций, позволяющих управлять их отображением.</p> <p>Щелкните правой кнопкой мыши в любом месте на одном из фреймов и в показавшемся контекстном меню изберите команду Характеристики рамки (Frame Properties). На дисплее появится диалог Характеристики рамки (Frame Properties).</p> <p>В поле Имя (Name) обозначено внутреннее имя фрейма, оно употребляется также при выборе мотивированного фрейма для ссылки. В поле Исходная страничка (Initial page) указана страничка, отображаемая во фрейме при его загрузке. В группе частей управления Размер рамки (Frame size) можно указать ширину (Width) и высоту (Height) фрейма относительно примыкающих фреймов (Relative), относительно размеров окна браузера в процентах (Percent) либо фиксированный размер в пикселах (Pixels). В группе частей управления Поля (Margins) определяются значения отступа от вертикальных (Width) и горизонтальных (Height) границ фрейма до содержимого внутри фрейма. Если установлен флаг Изменять размер в обозревателе (Resizable in browser), то гость WEB сайта может поменять размер фрейма, передвигая мышью разделитель между примыкающими фреймами. В открывающемся перечне Полосы прокрутки (Show scrollbars) задается режим отображения полос прокрутки: по мере надобности (If needed), другими словами когда страничка полностью не помещается во фрейме, никогда (Never) либо всегда (Always).</p> <p>Нажмите кнопку Страничка рамок (Frames Page). На дисплее появится диалог Характеристики странички (Page Properties) с открытой вкладкой Рамки (Frames).</p> <p>Флаг Показать границы (Show borders) определяет, будут ли отображаться границы фрейма. Если флаг сброшен, то в браузере не будут видны разделительные полосы между фреймами. В поле Интервал между рамками (Frame Spacing) задается ширина границ, разделяющих примыкающие фреймы.</p> <p>Нажмите кнопку ОК, чтобы закрыть диалог Характеристики странички (Page Properties) и потом кнопку ОК в диалоге Характеристики рамки (Frame Properties).</p> <p>Вы сможете добавить новые фреймы либо удалить имеющиеся со странички.</p> <p>В режиме редактирования странички изберите один из фреймов, щелкнув на нем мышью.</p> <p>Изберите команду меню Рамки - Поделить рамку</p> <p>(Frames - Split Frame). На дисплее появится диалог Поделить рамку (Split Frame).</p> <p>При помощи одного из переключателей изберите вариант разделения: на столбцы (Split into columns) либо на строчки (Split into rows).</p> <p>Нажмите кнопку ОК. Область текущего фрейма будет разбита на две части, и на страничку будет добавлен новый фрейм.</p> <p>Новый фрейм также можно сделать, если в режиме редактирования странички переместить при помощи мыши разделитель фреймов, удерживая при всем этом кнопку Ctrl.</p> <p>Чтобы удалить фрейм, выделите его, щелкнув на нем мышью, и в меню программки изберите команду Рамки - Удалить рамку (Frames - Delete Frame). Фрейм будет удален.</p> <p>Удаление фрейма не приводит к удалению странички, которая в нем отображалась. Последний фрейм на страничке не может быть удален.</p> <p>В открывающемся перечне Тип файла (Save as type) изберите Шаблоны FrontPage (FrontPage Template).</p> <p>В поле ввода Название файла (File Name) укажите название файла шаблона и нажмите кнопку Сохранить (Save). На дисплее появится диалог Сохранить как шаблон (Save As Template).</p> <p>В поле ввода Заглавие (Title) укажите заглавие шаблона, которое будет отображаться в перечне шаблонов при разработке новейшей странички. В поле ввода Описание (Description) можно коротко обрисовать предназначение и вид шаблона.</p> <p>Нажмите кнопку ОК. Шаблон будет сохранен.</p> <p>Сейчас вы сможете использовать свой шаблон при разработке новейшей странички с фреймами, выбирая его в перечне шаблонов диалога Шаблоны страничек (Page Templates). Если при сохранении шаблона были установлены исходные странички во фреймах, то они будут употребляться по умолчанию для всех фреймов, сделанных на базе шаблона.</p> <p>Фреймы комфортно использовать для навигации по WEB сайту либо разделу WEB сайта. В одном из фреймов обычно помещают список ссылок в виде текста либо рисунков, а в другой загружаются странички при выборе ссылок из первого фрейма. Другим вариантом является внедрение общих границ и навигационных меню, о которых мы уже ведали. Использовать фреймы и общие границы сразу не рекомендуется - это в состоянии сделать навигацию по WEB сайту запутанной.</p> <p>Итак, фреймы.. для чего они нужны и какую пользу в себе несут? Об этом я и постараюсь рассказать в этой главе, ну и естественно о том, как их внедрять и работать с ними..</p> <p>Часто при создании сайта возникает необходимость открывать в одном окне браузера одновременно несколько HTML документов.. так вот фреймы как раз таки и созданы для того чтобы определить рабочие области для каждого документа. Кроме того, фреймы - это хороший инструмент, с помощью которого можно заниматься версткой страницы, они служат достойной "альтернативой" табличному способу верстки страницы.. в кавычки взял слово "альтернатива" потому, что это совершенно иной способ построения сайта со своими достоинствами и недостатками и его достаточно трудно сопоставлять с доселе привычным построением сайта.. но обо всем по порядку..</p> <p>Ну что, начнем? Допустим нам необходимо в одном окне браузера открыть сразу три HTML документа и расположить их к примеру вот таким способом:</p> <p>Что нам для этого нужно? Для начала естественно нам необходимо создать три отдельных html документа которые мы собственно и будем открывать в одном окне.. Пусть первый документ будет нести в себе графическое изображение и будет выполнять роль логотипа назовём его logotype.html , вторым документом будет некое содержание.. назовём menu.html , ну и третьим документ с кучей текста. text.html. Конечно Вы можете придумать свои названия, как впрочем и содержание документов, но пока лучше всё же копируйте мои.. так будет удобнее и мне и Вам.</p> <p>Итак, есть три файла logotype.html, menu.html и text.html.. которые нам необходимо разместить под одной крышей, а крыши у нас как раз таки ещё пока и нет..</p> <p>Пишем "крышу", главный документ к которому будем подключать наши файлы. Раз он будет главным, присваиваем ему имя index.html.</p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <body> <br> </body> <br> </html></p> <p>Вот привычная для нас структура документа которую мы пережевали ещё в самом начале нашего обучения.. Фреймы ломают сложившиеся стереотипы! Структура фрейм документа имеет вот такой вид:</p> <p> <html> <br> <head> <br> <title>фреймы </title> <br> </head> <br><b><frameset> </b> <br><b></frameset> </b> <br> </html></p> <p>Отсутствие тега <b><body> </b> компенсирует новый тег <b><frameset> </b> - установить фрейм или набор фреймов.. с этим товарищем мы собственно и будем работать дальше.</p> <p>Тег <b><frameset> </b> имеет атрибуты <b>rows </b> и <b>cols </b> - эти атрибуты указывают браузеру на то, как следует размещать фреймы в окне браузера</p> <b>rows </b> - горизонтально <b>cols </b> - вертикально<br><br><img src='https://i2.wp.com/webremeslo.ru/graphics/win1.gif' width="100%" loading=lazy><p>В нашем случае нам необходимо горизонтальное размещение фреймов.. значит пишем так:</p> <p> <html> <br> <head> <br> <title>фреймы </title> <br> </head> <br> <frameset <b>rows="15%,15%,70%" </b>> <br> </frameset> <br> </html></p> <p>Проценты после знака равенства - это не что иное, как размеры наших окошек- фреймов в одном большом окне браузера, у нас предполагается размещение трёх окон - следовательно и значений через запятую тоже три. Вспомните как мы задавали размеры ячеек для таблицы, здесь тот же принцип.. Как и в случае с ячейками таблицы, размеры фреймов можно указывать в процентах от общей площади и в пикселях.</p> <p>Вот несколько примеров написания: <br><b><frameset rows="15%,15%,70%"> </b> - такая запись говорит о том, что будет три горизонтальных окошка где последнее займет 70% площади окна браузера, а первые два по 15%. <br><b><frameset cols ="200,240,200"> </b> - здесь три окна расположены вертикально ширина которых указана в пикселях. <br><b><frameset rows="100,*,180"> </b> - такая запись значит, что первое и третье окно будут иметь ширину 100 и 180 пикселей соответственно, а второй фрейм займет всю оставшеюся площадь.</p> <p>С размещением документов покончили, теперь собственно осталось их подключить и насладится первым результатом..</p> <p>Тег <b><frame> </b> и его атрибут <b>src </b> укажет браузеру путь к html документу который следует открыть в отведенном для него месте. У нас имеется три отдельных документа logotype.html, menu.html и text.html теперь к каждому нужно прописать путь, что мы собственно и делаем. (предполагаю, что у Вас все четыре файла находятся в одной папке и пути к ним имеют самую простую запись по типу: <b><frame src="logotype.html"> </b>)</p> <p>Файл index.html <br> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset rows="15%,15%,70%"> <br><b><frame src="logotype.html"> </b> <br><b><frame src="menu.html"> </b> <br><b><frame src="text.html"> </b> <br> </frameset> <br> </html> <br> Файл logotype.html <br> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <body> <br> <img src='https://i1.wp.com/logotype.jpg' height="120" width="800" loading=lazy> <br> </body> <br> </html> <br> Файл menu.html <br> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <body bgcolor="#e8e8e8" background="fon1.jpg"> <br> <font face="Monotype Corsiva" size="6"color="#ff0000">Меню:</font><br> <font face="Comic Sans MS" size="3"> <br> Суп из шампиньонов<br> Бобы в горшочке по-итальянски<br> Австралийский летний салат<br> ... ... ... <br> </font> <br> </body> <br> </html> <br> Файл text.html <br> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <body bgcolor="#f5f5f5"> <br> <center><font face="Comic Sans MS" size="3">Суп из шампиньонов</font></center> <br> <br> куча текста.. <br> </body> <br> </html> <br></p> <p>В данном примере я выложил все четыре HTML документа где index.html является основным, а остальные три, это подключаемые страницы, каждая из которых в принципе может работать автономно и содержать в себе всё что угодно картинки, таблицы, тексты, ссылки.. сделал я это для того что бы дать Вам понять принцип работы с фреймами. В дальнейших примерах я буду выкладывать лишь головной файл с фреймами, (а то уж больно много места на странице они все вместе занимают), а Вы знайте что у меня "где то там" есть все остальные файлы содержащие в себе графику, тексты, может быть ещё что ни будь.. ну и не отставайте за мной потихоньку редактируйте свои собственные странички к будущему тренировочному сайту.. Не знаю про что Вы будите писать свой, а я тут пообещался помочь одной девушке в написании сайта посвящённого кулинарии..)) так что решил так сказать сразу на двух зайцев замахнуться.. на девушку зайку и сайт..)) как-то так..))</p> <p>В выше изложенном примере мы расположили все окна горизонтально, поменяв атрибут <b>rows </b> на <b>cols </b> можно расположить их в вертикальном порядке. А как быть, если требуется разместить наши окна</p> <br> вот так?: или так?: или даже так?:<br><br><img src='https://i0.wp.com/webremeslo.ru/graphics/win2.gif' width="100%" loading=lazy><p>Выход есть. Разберём на примерах.</p> <p>Начнём с первого случая.. что мы видим? А видим мы две строки, где вторая поделена на два столбца.</p> <p>A теперь по порядку:</p> <b><frameset rows="20%,80%"> </b> <i>- делим окно браузера на две строки </i><br><b><frame src="logotype.html"> </b><i>- в первую строку загружаем наш логотип </i><br><b><frameset cols="30%,70%"> </b><i>- а вторую строку делим на два столбца </i><br><b><frame src="menu.html"> </b> <i>- в первом будет меню </i><br><b><frame src="text.html"> </b><i>- а во втором куча текста </i><br><b></frameset> </b> <i>- закрываем тег деления на столбцы </i><br><b></frameset> </b> <i>- закрываем тег деления на строки </i><br><p>Вообще то говорить столбцы и строки неверно, так как фреймы никакого отношения к таблицам не имеют кроме как визуального подобия, правильно говорить горизонтальные и вертикальные фреймы.. ну это я так изрекаюсь что б Вам понятнее было..</p> <p>Ну да ладно, смотрим пример:</p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset rows="15%,85%"> <br> <frame src="logotype.html"> <br> <frameset cols="20%,80%"> <br> <frame src="menu.html"> <br> <frame src="text.html"> <br> </frameset> <br> </frameset> <br> </html> <br></p> <p>Во втором случае у нас имеется два столбца в котором второй поделен на две строки, значит будем писать так:</p> <b><frameset cols="30%,70%"> </b> <i>- делим окно на два столбца </i><br><b><frame src="menu.html"> </b> <i>- в первом будет содержание </i><br><b><frameset rows="20%,80%"> </b> <i>- а второй делим на две строки </i><br><b><frame src="logotype.html"> </b><i> - логотип </i><br><b><frame src="text.html"> </b> <i>- и основной текст </i><br><b></frameset> </b> <i>- закрываем деление на строки </i><br><b></frameset> </b><i> - закрываем деление на столбцы </i><br><p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="20%,80%"> <br> <frame src="menu.html"> <br> <frameset rows="15%,85%"> <br> <frame src="logotype.html"> <br> <frame src="text.html"> <br> </frameset> <br> </frameset> <br> </html> <br></p> <p>Третий случай немного посложней, но бояться его не стоит.. тем более что именно такое построение лично я выбрал для сайта про кулинарное искусство, чуть ниже объясню почему. Что мы имеем? три столбца причем во второй столбец по сути заключён наш первый случай..</p> <b><frameset cols="*,800,*"> </b> <i>- делим окно на три столбика (обратите внимание второй столбец занимает ровно 800 пикселей а два крайних точного размера не имеют и поделят пополам оставшееся место) </i><br><b><frame src="dekor.html"> </b> <i>-в первый столбец загружаем html документ который будет выполнять сугубо декоративную функцию </i><p><b><frameset rows="15%,85%"> </b> -<br><b><frame src="logotype.html"> </b> -<br><b><frameset cols="20%,80%"> </b> - <i>во второй столбец вставляем наш "первый случай" </i><br><b><frame src="menu.html"> </b> -<br><b><frame src="text.html"> </b> -<br><b></frameset> </b> -<br><b></frameset> </b> -</p><p><b><frame src="dekor.html"> </b><i> - в третий столбец загружаем всё тот же файл с декорациями </i><br><b></frameset> </b><i> - захлопываем </i><br></p><p>Посмотрите пример, а потом я объясню почему избрал путь с пятью окнами</p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*"> <br> <frame src="dekor.html"> <br> <frameset rows="120,*"> <br> <frame src="logotype.html"> <br> <frameset cols="200,600"> <br> <frame src="menu.html"> <br> <frame src="text.html"> <br> </frameset> <br> </frameset> <br> <frame src="dekor.html"> <br> </frameset> <br> </html> <br></p> <p>Так почему пять окон? Помнится мне, я уже писал про то, что у разных пользователей сети Интернет на мониторах выставлены разные разрешения и соответственно на разных экранах наш сайт будет выглядеть по разному.. и если нет конкретных размеров все наши рисунки, тексты, таблицы что называется "поплывут" у тех пользователей, разрешения мониторов которых отлично от Вашего. Когда мы верстали сайт с помощью таблицы, вопрос с размерами страницы решался при помощи присуждения этой таблице конкретной ширины и высоты, к сожалению, с фреймами так поступить нельзя.. даже если указывать ширину фреймов не в процентах, а в пикселях, всё равно последний столбец растянется на оставшеюся ширину окна браузера и страница, что называется, потеряет "товарный вид". Так как же быть? Приходится идти на маленькие хитрости.. Задав центральному столбцу (в котором у нас собственно и размещена вся страница) размер 800 пикселей мы раз и навсегда определи его ширину, а безразмерные первый и третий столбцы помимо декора выполняют роль своего рода "пружин" на которых подвешен центральный столбец.. Так, у людей с маленьким разрешением монитора эти окна/поля будут узкими, а людей с большим разрешением широкими, таким образом центральный столбец никак не пострадает и теперь мы можем с полной уверенностью размещать в нём какие либо объекты, с точной привязкой по месту, не переживая за их дальнейшую судьбу. Сравните первый пример, где три окна и третий, где их уже пять, неправда ли так лучше?</p> <p>На этом с размещением и размерами фреймов закончим.. и так здесь долго задержались.. идём дальше.</p> <h2>Приводим фреймы в опрятный вид.</h2> <p>В последнем нашем примере первое, что бросается в глаза, это целая куча полос прокруток, которые стоят где надо и не надо.. Давайте от них избавимся, ну можно и оставить кое где.. Делается это при помощи атрибута <b>scrolling </b> - тега <b><frame> </b> , он может иметь одно из трёх значений:</p> <ul><li><b>no </b> </li><li><b>yes </b> - всегда показывать,</li><li><b>auto </b> </li> </ul><p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*"> <br> <frame src="dekor.html" <b>scrolling="no" </b>> <br> <frameset rows="120,*"> <br> <frame src="logotype.html" <b>scrolling="no" </b> ><br> <frameset cols="200,600"> <br> <frame src="menu.html"> <br> <frame src="text.html"> <br> </frameset> <br> </frameset> <br> <frame src="dekor.html" <b>scrolling="no" </b>> <br> </frameset> <br> </html> <br></p> <p>Поля фреймов или иначе расстояние от границ фрейма до текста или картинки, как в нашем случае, задаются в пикселях при помощи атрибутов <b>marginwidth </b> и <b>marginheight </b> тега <b><frame> </b></p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*"> <br> <frame src="dekor.html" scrolling="no"> <br> <frameset rows="120,*"> <br> <frame src="logotype.html" scrolling="no" <b>marginwidth="0" marginheight="0" </b>> <br> <frameset cols="200,600"> <br> <frame src="menu.html"> <br> <frame src="text.html" <b>marginwidth="10" marginheight="10" </b>> <br> </frameset> <br> </frameset> <br> <frame src="dekor.html" scrolling="no"> <br> </frameset> <br> </html> <br></p> <p>Поговорим немного о рамках вокруг наших фреймов.</p> <p>Если Вы обратили внимание, то в последнем примере наведя курсор на границу фрейма он, курсор то бишь, приобретает другой вид (захватить и переместить) и теперь эту границу можно перетащить в какую либо сторону удерживая левой кнопкой мыши. Иногда такая "мобильность" границ фреймов играет на руку веб-мастеру, но чаще всё же мешает.. Для того, чтобы запретить пользователю играться с размерами окон для тега <b><frame> </b> придумали атрибут <b>noresize </b></p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*"> <br> <frame src="dekor.html" scrolling="no" <b>noresize </b>> <br> <frameset rows="120,*"> <br> <frame src="logotype.html" scrolling="no" marginwidth="0" marginheight="0" <b>noresize </b>> <br> <frameset cols="200,600"> <br> <frame src="menu.html" <b>noresize </b>> <br> <frame src="text.html" marginwidth="10" marginheight="10" <b>noresize </b>> <br> </frameset> <br> </frameset> <br> <frame src="dekor.html" scrolling="no" <b>noresize </b>> <br> </frameset> <br> </html> <br></p> <p>А вот давно нам знакомый атрибут <b>border </b> задаёт ширину в пикселях этих самых рамок между фрёймами.. пишется он внутри тега <b><frameset> </b> . Как и раньше значение <b>border="0" </b> вовсе избавит нас от рамок.</p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*" <b>border="0" </b>> <br> <frame src="dekor.html" scrolling="no" noresize> <br> <frameset rows="120,*" <b>border="0" </b>> <br> <frame src="logotype.html" scrolling="no" marginwidth="0" marginheight="0" noresize> <br> <frameset cols="200,600" <b>border="0" </b>> <br> <frame src="menu.html" noresize> <br> <frame src="text.html" marginwidth="10" marginheight="10" noresize> <br> </frameset> <br> </frameset> <br> <frame src="dekor.html" scrolling="no" noresize> <br> </frameset> <br> </html> <br></p> <h2>Фреймы и ссылки.</h2> <p>Настало время оживить наш сайт ссылками, да вот беда, знакомая нам обыкновенная ссылка <b>Бобы в горшочке по-итальянски </b> откроет данный документ в том же фрейме где она и находится, в нашем случае непосредственно в фрейме с содержанием, а само содержание в момент перехода по этой ссылки уйдёт в небытие.. можете взглянуть на корявый пример.. кликнете в нём на любую ссылку.. Что бы впредь такого не происходило, необходимо указывать браузеру в каком фрейме следует открывать необходимый нам документ, ну если конечно Вам и в правду не нужно открывать его в этом же фрейме.</p> <p>Помнится мы уже знакомились, в главе посвящённой ссылкам, с атрибутами <b>name </b> - имя и <b>target </b> - цель, применяются они также и при работе с фреймами механизм немного изменён а так почти тоже самое. первым делом фрейму в котором мы хотели бы открывать какие либо документы необходимо присвоить индивидуальное имя.</p> <p>пишется так:</p><p> <frame src="text.html" <b>name="osnovnoe" </b>> имя можно придумать любое.. главное его не забыть.. </p> <p>Пишется так:</p><p> target="osnovnoe" </b>>Бобы в горшочке по-итальянски </p><p>Ну я думаю Вам уже не стоит объяснять, что прежде чем ссылаться на какие либо документы, их необходимо создать.. в моём случае файлы (рецепты) имеют имена text.html, text1.html, text2.html…</p> <p>Посмотрите пример:</p> <p>Файл index.html<br> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br> <frame src="dekor.html" scrolling="no" noresize> <br> <frameset rows="120,*" border="0"> <br> <frame src="logotype.html" scrolling="no" marginwidth="0" marginheight="0" noresize> <br> <frameset cols="200,600" border="0"> <br> <frame src="menu.html" noresize> <br> <frame src="text.html" <b>name="osnovnoe" </b> marginwidth="10" marginheight="10" noresize> <br> </frameset> <br> </frameset> <br> <frame src="dekor.html" scrolling="no" noresize> <br> </frameset> <br> </html> <br> Файл menu.html <br> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <body bgcolor="#e8e8e8" background="fon1.jpg" link="#b40000" alink="#900000" vlink="#900000"> <br> <font face="Monotype Corsiva" size="6"color="#ff0000">Меню:</font><hr> <br> <font face="Comic Sans MS" size="3"> <br> target="osnovnoe" </b>>Суп из шампиньонов<hr> <br> target="osnovnoe" </b>>Бобы в горшочке по-итальянски<hr> <br> target="osnovnoe" </b>>Австралийский летний салат<hr> <br> ... ... ... <br> </font> <br> </body> <br> </html> <br></p> <p>Так же как и раньше документ можно открыть в отдельном окне. Напомню, пишется так:</p><p> target="_blank" </b>>Бобы в горшочке по-итальянски </p><p>Или же присвоив атрибуту <b>target </b> значение <b>_top </b> открыть его в этом же окне браузера, но на весь экран.. "обнулив" при этом всё что бы там не находилось.. пишется так:</p><p> target="_top" </b>>Бобы в горшочке по-итальянски </p><p>Такой вот сайтик получился.. конечно над ним ещё работать и работать.. к тому же по моёй задумке он будет иметь несколько иную структуру в плане навигации по сайту, в нем будет ёщё целая куча страниц, красивое меню, но что касается фреймовой структуры, думаю она останется прежней..</p> <h2>Плавающий фрейм</h2> <p>Иногда в страницу содержащую в себе не фреймовую структуру необходимо в отдельном окне вставить другой HTML документ или даже ряд таковых документов. Для выполнения этой цели существует тег <b><iframe> </b> - так называемый плавающий фрейм.</p> <p>Данный тег имеет ряд атрибутов:</p> <b>src </b> - обязательный атрибут, указывающий путь к открываемой странице<br><b>width </b> - ширина плавающего фрейма в пикселях или процентах<br><b>height </b> - высота плавающего фрейма<p><b>scrolling </b> - показ полосы прокрутки </p><ul><li><b>no </b> - никогда не показывать полосу прокрутки,</li><li><b>yes </b> - всегда показывать,</li><li><b>auto </b> - показывать в том случае если она необходима.</li> </ul><b>align </b> - выравнивание плаваюшего фрейма <ul><li><b>left </b> - слева</li><li><b>right </b> - справа</li><li><b>top </b> - выше</li><li><b>bottom </b> - ниже</li> </ul><b>frameborder </b> - наличие рамки вокруг плавающего фрейма <ul><li><b>1 </b> - включить рамку</li><li><b>0 </b>- выключить рамку</li> </ul><p>Всё вместе пишется так:</p> <b><iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1" ></iframe> </b> <p>Пример документа с плавающим фреймом:</p> <p> <html> <br> <head> <br> <title>Плавающий фрейм</title> <br> </head> <br> <body> <br> <center><h2>Плавающий фрейм</h2></center> <br> В эту страницу введён так называемый "плавающий фрейм". <br> В отдельном окне он открывает для показа другой документ html. <br> <br><b><iframe src="primer.html" width="250" height="250" align ="left" scrolling="auto" frameborder="1"></iframe> </b> <br> <br> … … … <br> <br> </body> <br> </html> </p> <h2>Noframes</h2> <p>Некоторые браузеры не поддерживают фреймовую структуру документа или неправильно её интерпретируют, кроме того зачастую пользователи в настройках своих браузеров умышленно отключают поддержку фреймовой структуры html документа. И хотя процент таких браузеров и пользователей невелик, но тем не менее они есть.</p> <p>Теперь представьте что Вы построили свой сайт с помощью фреймовой структуры и вот некоторые посетители, может быть сами не подозревая в чем проблема, пытаются открыть Ваш сайт, а их браузер выдает ошибку! Что они подумают о Вашем сайте? я думаю, что то типа: "Фу.. ерунда какая то.. больше сроду сюда не зайду!".</p> <p>Для того что бы дать понять пользователю, что его браузер/настройки браузера не поддерживают фреймы существует тег <b><noframes> </b> .</p> <p>Тег <b><noframes> </b> выводит текст, заключенный в него в том случае, если браузер пользователя не поддерживает фреймы или они принудительно выключены в его настройках. Если же фреймы поддерживаются браузером пользователя, то данный тег попросту игнорируется.</p> <p> <html> <br> <head> <br> <title>фреймы</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>Извините, но Ваш браузер не поддерживает фреймы..











Результат примера будет заметен, если Ваш браузер и в правду не поддерживает фреймы (тут я надолго задумался.. :) если это так, то зачем вообще читать эту главу?) или же Вы в качестве эксперимента выключили поддержку фреймов в своём браузере.

Тег </b> должен быть расположен внутри тега <b><frameset> </b></p> <p>С плавающим фреймом всё ещё более просто, достаточно написать нужный текст между <b><iframe> </iframe> </b> и данная надпись будет выводится на экран, в том случае если браузер не поддерживает фреймы.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>Извините, но Ваш браузер не поддерживает фреймы.. </b></iframe> </p> <ul><p>Перед тем как начать создавать страницу с использованием фрёймовой структуры проанализируйте её макет, размеры каждого окна, наличие или отсутствие в них полос прокруток и т. д. После этого можно создавать подключаемые HTML файлы особо не переживая за их взаимное расположение относительно друг друга..</p><p>Используйте тег <b><noframes> </b> . Помните что если в Вашем браузере сайт работает и отображается так как Вы и задумывали то у других пользователей дела могут обстоять иначе!</p> </ul> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </div> <div class="col-sm-4"> <aside> <p class="h2 bold"> Реклама </p> <div class="line"></div> <div id="vagize2" style="height:500px;width:300px;" align="center"></div> <div class="subscribe block"> <p class="h2 bold"> Подпишитесь на новости </p> <div class="line"></div> <form class="form-horizontal form" action="/" method="post" target="popupwindow"> <div class="group"> <div class="input"> <input type="text" name="subscribe_email" class="form-control" placeholder="Введите e-mail" /> <div class="helper"></div> </div> </div> <div class="group"> <input type="submit" class="btn btn-base btn-big" value="Подписаться на новости" /> </div> </form> </div> <div class="adv block"> <div class="adv_track" data-id="aside"> <div class="adv_block adsense_3"> </div> </div> </div> </aside> </div> </div> </article> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/akismet/_inc/form.js?ver=3.0.3'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/contact-form-7/includes/js/scripts.js?ver=4.0.2'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/light/js/jquery.fancybox.pack.js?ver=4.3.14'></script> <script type='text/javascript' src='https://erfa.ru/wp-content/plugins/light/js/light.js?ver=4.3.14'></script> <footer> <div class="footer"> <div class="row"> <div class="menu"> <nav class="navbar navbar-moto-footer"> <div class="row"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bottom_menu" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="collapse navbar-collapse" id="bottom_menu"> <ul id="menu-footer" class="nav navbar-nav navbar-first"> <li><a href="/category/ntv-plus/">НТВ плюс</a></li> <li><a href="/category/tricolor/">Триколор</a></li> <li><a href="/category/smart-tv/">Смарт ТВ</a></li> <li><a href="/category/tv/">Телевизор</a></li> </ul> </div> </div> </div> </nav> </div> <div class="to_top"> <div class="top_btn"> <i class="fa fa-angle-up"></i> </div> </div> </div> <div class="row"> <div class="col-sm-6"> © 2024 <span class="bold">erfa.ru</span> - Все о телевидении. </div> <div class="col-sm-6 text-right social_block" itemscope itemtype="http://schema.org/Organization"> <link itemprop="url" href="/" /> <a itemprop="sameAs" href="https://www.facebook.com/sharer/sharer.php?u=https://erfa.ru/frame-primery-primer-ubiraem-granicu-mezhdu-freimami-problemy-s.html"> <i class="fa fa-facebook"></i> </a> <a itemprop="sameAs" href="https://vk.com/share.php?url=https://erfa.ru/frame-primery-primer-ubiraem-granicu-mezhdu-freimami-problemy-s.html"> <i class="fa fa-vk"></i> </a> <a itemprop="sameAs" href="https://www.twitter.com/share?url=https://erfa.ru/frame-primery-primer-ubiraem-granicu-mezhdu-freimami-problemy-s.html"> <i class="fa fa-twitter"></i> </a> <a itemprop="sameAs" href="https://connect.ok.ru/offer?url=https://erfa.ru/frame-primery-primer-ubiraem-granicu-mezhdu-freimami-problemy-s.html"> <i class="fa fa-odnoklassniki"></i> </a> <a itemprop="sameAs" href=""> <i class="fa fa-google-plus"></i> </a> </div> </div> </div> </footer> </div> </div> </div> </body> </html> </div> </div>