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

Фреймы

Иногда Web-страницу делят на несколько частей (чаще всего — на две, реже — на три, совсем редко — на большее количество). Одна такая часть называется фреймом (от английского frame — рамка). В каждом фрейме отображается отдельная Web-страница.

Структура фреймов описывается в специальном файле. Таким образом, для создания страницы с двумя фреймами надо по крайней мере три файла: в одном описывается структура, а в двух других — страницы, которые будут показаны в первом и втором фреймах.

Разбивка на столбцы

В отличие от обычной Web-страницы, страница, которая описывает структуру фреймов, не содержит тела, то есть блока . . Вместо этого записывается блок . (от английского frameset — набор фреймов).

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

Браузер отображает эту страницу так:

Описание структуры заключено внутрь блока . . В параметре COLS тэга указывается, сколько фреймов-столбцов будет на странице и какова ширина каждого из них (через запятую). Ширина фреймов может быть задана в процентах от всей ширины окна браузера или в пикселах. Знак * означает «использовать все оставшееся место». В этом примере левая часть занимает 30 процентов ширины окна.

Параметры тэгов

Параметр FRAMESPACING тэга задает ширину границы между фреймами в пикселах. Границу можно перетаскивать мышкой, изменяя размеры фреймов, если это разрешено.

Если требуется скрыть границу между фреймами, в тэге надо установит дополнительные параметры (для разных браузеров):

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

Параметр NORESIZE тэга говорит о том, что размеры этого фрейма запрещено менять. Параметр SCROLLING задает режим работы вертикальной линейки прокрутки и может принимать три значения:

  • yes — линейка прокрутки видна всегда
  • no — прокрутка запрещена, линейки прокрутки нет
  • auto — линейка прокрутки появляется только тогда, когда информация не помещается в окно

Каждый фрейм может иметь имя, которое указывается в параметре NAME тэга . Оно служит для того, чтобы загружать документы в другой фрейм, обращаясь к нему по имени (см. далее).

Читайте также:  Ajax POST request with JQuery and PHP - Tutsmake

Параметры MARGINWIDTH и MARGINHEIGHT тэга задают значения горизонтального и вертикального отступов от края страницы в пикселах. Например, чтобы убрать эти поля, надо написать

Разбивка на строки

Аналогично описывается и деление страницы на фреймы-строки. Для этого используется параметр ROWS тэга . Фрейм, описанный в файле

отображается на экране так:

Обратите внимание, что высота первой строки задана в пикселах (без знака процента).

Сложные структуры

Покажем пример структуры, в которой сделана разбивка на строки и столбцы.

Легко заметить, что страница разбита на два столбца, а второй столбец — еще на 2 строки. Таким образом получилась вложенная структура, где вместо второго столбца использован набор фреймов с разбивкой на строки:

Ссылки на другой фрейм

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

Подробнее о ссылках можно прочитать в разделе Ссылки.

В следующем разделе вы узнаете о языке JavaScript.

Источник

Фреймы

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

Читайте также:  Логирование в файл php

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

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

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

 

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

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

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

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

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

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

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

Источник

Фреймы — три строки, во второй — два столбца

Вставить в матрицу два столбца из единиц: один после К1-го столбца, второй — перед К1-ым
дан двумерный массив, вставить в него два столбца из чисел 1: один после К1-го столбца.

Вставить в матрицу (в файле) два столбца из единиц: один после К1-го столбца, второй — перед К1-ым
дан двумерный массив, вставить в него два столбца из чисел 1: один после К1-го столбца.

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

В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца
В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 html xmlns="http://www.w3.org/1999/xhtml"> head> title>test/title> /head> cols="*" rows="200,*,30%"> /frame> cols="50%,*" rows="*"> /frame> /frame> /frameset> /frame> body> lol /body> /noframes> /frameset> /html>

У меня другая проблемма:
Страница разбита на две строки, на верхнюю надо разбить на два столбца.
Как это правильно сделать? У меня пока не получается.

ЦитатаСообщение от hazardcd Посмотреть сообщение

ЦитатаСообщение от Vovan-VE Посмотреть сообщение

Источник

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