Опубликован: 19.03.2007 | Уровень: для всех | Доступ: платный
Лекция 10:

Использование фреймов

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

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html 
  PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
  <title>Frameset Document</title>
</head>

<frameset cols="20%,80%">
  ...
</frameset>

</html>
Листинг 10.2. Определение frameset с двумя столбцами (фреймами)

Отметим в приведенном выше коде, что страница не содержит тег <body>. Тег <body> заменен тегом <frameset>.

Вывод в браузере набора фреймов с двумя вертикальными фреймами

Рис. 10.2. Вывод в браузере набора фреймов с двумя вертикальными фреймами

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

<frameset rows="20%,80%">
  ...
</frameset>
Листинг 10.3. Определение frameset с двумя строками (фреймами)
Вывод в браузере набора фреймов с двумя горизонтальными фреймами

Рис. 10.3. Вывод в браузере набора фреймов с двумя горизонтальными фреймами

Можно использовать звездочку ( \ast ) вместо задания размера, чтобы позволить браузеру определить размеры фреймов. Такая запись указывает на "все оставшееся пространство". Например, предыдущий набор фреймов можно было бы закодировать следующим видом:

<frameset rows="20%,*">

чтобы позволить браузеру вычислить вторую строку как занимающую оставшиеся 80% окна браузера.

По умолчанию множества фреймов имеют между фреймами границы. В теге <frameset> можно задавать атрибут frameborder="1|0", чтобы выводить ( 1 ) или скрывать ( 0 ) границы.

Толщину границ между фреймами можно задавать с помощью атрибута framespacing="n", где n задается в пикселях.

Если границы между фреймами видимы, то можно задать им определенный цвет с помощью атрибута bordercolor="color". Цвета определяются именами, шестнадцатеричными или RGB значениями.

Тег <frame>

В то время как тег <frameset> делит окно на фреймы, эти фреймы заполняются страницами Web с помощью тегов <frame/>. Имеется по одному тегу <frame/> для каждого из фреймов, определенных во frameset.

Тег <frame/> содержит атрибуты для указания исходного содержимого фрейма вместе с внешним видом и поведением фрейма. Тег <frame/> не является контейнерным тегом, поэтому он не имеет парного замыкающего тега. Его общий формат показан ниже.

<frame
  src="url"
  name="framename"
  frameborder="1|n"
  bordercolor="color"
  scrolling="auto|yes|no"
  noresize

     Исключены:
     marginwidth="n"
     marginheight="n"
/>
Листинг 10.4. Общий формат тега <frame/>

Отметим, что тег <frame/> использует те же самые атрибуты frameborder и bordercolor, что и тег <frameset>. Эти атрибуты задают в теге <frameset> для множества тегов в целом, их можно переопределить для определенных фреймов в теге <frame/>. Однако два фрейма, которые граничат друг с другом, не могут иметь конфликтующие атрибуты.

Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!