главная страница   свяжитесь с нами  бесплатная почта   карта сайта  заказать   flash-заставка   добавить в избранное   сделать стартовой 
поиск по сайту
вход для зарегистрированных пользователей регистрация забыл пароль?
 
 
 
УЧЕБНИК HTML
На главную Новости Философия Наша история Наши клиенты
 
Rambler's Top100
 Расположение фреймов
Документ HTML, в котором описывается компоновка фреймов (называемый документом с фреймами), выглядит не так, как документ HTML без фреймов. Атндартный документ имеет один раздел HEAD и один раздел BODY. Документ с фреймами имеет раздел HEAD и раздел FRAMESET, который заменяет раздел BODY.

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

Элементы, обычно помещаемые в раздел BODY, не должны присутствовать до первого элемента FRAMESET, иначе элемент FRAMESET будет игнорироваться.

 Элемент FRAMESET

<![ %HTML.Frameset; [
<!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) - подразделение окон-->
<!ATTLIST FRAMESET
  %coreattrs;                          -- id, class, style, title --
  rows        %MultiLengths; #IMPLIED  -- список длин,
                                          по умолчанию: 100% (1 строка) --
  cols        %MultiLengths; #IMPLIED  -- список длин,
                                          по умолчанию: 100% (1 столбец) --
  onload      %Script;       #IMPLIED  -- все фреймы загружены  -- 
  onunload    %Script;       #IMPLIED  -- все фреймы удалены --   
> 
]]>
Определения атрибутов
 
rows = multi-length-list
Этот атрибут определяет расположение горизонтальных фреймов. Это разделенный запятыми список пикселов, процентов и относительных длин. По умолчанию используется 100%, что означат одну строку.
cols = = multi-length-list
Этот атрибут определяет расположение вертикальных фреймов. Это разделенный запятыми список пикселов, процентов и относительных длин. По умолчанию используется 100%, что означат один столбец.
Атрибуты, определяемые в другом месте
  • id, class (идентификаторы в пределах документа identifiers)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onload, onunload (внутренние события)
Элемент FRAMESET определяет макет основного окна пользователя в виде прямоугольных пространств.
Строки и столбцы
Установка атрибута rows определяет число горизонтальных отрезков пространства в наборе фреймов. Устанвока атрибута cols определяет число вертикальных отрезков. Для создания сетки можно установить оба атрибута одновременно.

Если атрибут rows не установлен, каждый столбец занимает всю длину страницы. Если атрибут cols не установлен, каждая строка занимает всю ширину страницы. Если не установлен ни один из этитх атрибутов, фрейм занимает всю страницу.

Фреймы создаются в направлении слева направо для столбцов и сверху вниз для строк. Если указаны оба атрибута, разделы окон создаются слева направо в верхней строке, слева направо во второй строке и т.д.

В первом примере экран разделяется горизонтально на две части (то есть создаются верхняя и нижняя части).
<FRAMESET rows="50%, 50%">
...продолжение определения...
</FRAMESET>
В следующем примере создается три столбца: второй имеет фиксированную ширину 250 пикселов (это полезно, например, для представления изображения известной ширины). Первый фрейм получает 25% оставшегося пространства, а третий - 75%.
<FRAMESET cols="1*,250,3*">
...продолжение определения...
</FRAMESET>
В следующем примере создается сетка 2x3.
<FRAMESET rows="30%,70%" cols="33%,34%,33%">
...продолжение определения...
</FRAMESET>
Для следующего примера предположим, что окно браузера имеет высоту строго 1000 пикселов. Первый раздел получает 30% общей высоты (300 пикселов). Второй имеет высоту ровно 400 пикселов. Остается 300 пикселов на два другие фрейма. Для четвертого фрейма задана высота "2*", так что он должен быть вдвое выше третьего, для которого заданы высота "*" (эквивалентно 1*). Таким оразом, третий фрейм будет иметь высоту 100 пикселов, а четвертый - 200.
<FRAMESET rows="30%,400,*,2*">
...продолжение определения...
</FRAMESET>
Абсолютные длины, если они не дают в сумме 100% реально доступного пространства, должны корректироваться агентом пользователя. Если указана длина менее фактической, оставшееся пространство должно равномерно распределяться между всеми разделами. Если указана длина, превышающая фактическую, каждый раздел должен уменьшаться в зависимости от того, какую часть пространства он занимает.

Вложенные наборы фреймов

Число уровней вложенности фреймов не ограничено.
В следующем примере внешний элемент FRAMESET разделяет доступное пространство на три равных столбца. Внутренний элемент FRAMESET разделяет вторую область на две строки неравной высоты.
<FRAMESET cols="33%, 33%, 34%">
     ...содержимое первого фрейма...
     <FRAMESET rows="40%, 50%">
        ...содержимое второго фрейма, первая строка...
        ...содержимое второго фрейма, вторая строка...
     </FRAMESET>
     ...содержимое третьего фрейма...
</FRAMESET>
Разделение данных между фреймами
Авторы могут разделять данные между несколькими фреймами, включая эти данные с помощью элемента OBJECT. Элемент OBJECT следует включать в элемент HEAD документа с фреймами и давать ему имя с помощью атрибута id. Любой документ, являющийся содержимым фрейма, может ссылаться на этот идентификатор.
В следующем примере показано обращение скрипта к элементу OBJECT, определенному для всего набора фреймов:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Frameset//EN"   
"_THE_LATEST_VERSION_/frameset.dtd">
<HTML>
<HEAD><TITLE>Это набор фреймов с элементом OBJECT в разделе HEAD</TITLE>
<!-Этот элемент OBJECT не представляется! -->
<OBJECT id= "myobject"data="data.bar"></OBJECT>
</HEAD>
<FRAMESET>
    <FRAME src= "bianca.shtml"name=
"bianca">
</FRAMESET>

</HTML> <!-- In bianca.shtml
-->
<HTML>
<HEAD><TITLE>Страница Бьянки</TITLE>
</HEAD>
<BODY>
...начало документа...
<P>
<SCRIPT type="text/javascript">
parent.myobject.myproperty
</SCRIPT>
...продолжение документа...
</BODY>
</HTML>
FRAME
<![ %HTML.Frameset; [
<!-- зарезервированные имена фреймов начинаются с символа "_", остальные - с буквы -->
<!ELEMENT FRAME - O EMPTY              -- вложенное окно -->
<!ATTLIST FRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- ссылка на длинное описание
                                          (дополняет заголовок) --
  name        CDATA          #IMPLIED  -- имя целевого фрейма --
  src         %URI;          #IMPLIED  -- исходный документ для фрейма --
  frameborder (1|0)          1         -- нужны границы фрейма? --
  marginwidth %Pixels;       #IMPLIED  -- ширина полей в пикселах --
  marginheight %Pixels;      #IMPLIED  -- высота полей в пикселах --
  noresize    (noresize)     #IMPLIED  -- разрешить пользователям изменять размер фреймов? --
  scrolling   (yes|no|auto)  auto      -- наличией полосы прокрутки --  
> 
]]>
Определения атрибутов
 
name = cdata
Назначает имя текущему фрейму. Это имя может использоваться в качестве цели в последующих ссылках.
longdesc = uri
Ссылка на длинное описание фрейма. Это объявление должно дополнять краткое описание, задаваемое атрибутом title, и может быть особенно полезно для невизуальных агентов пользователей.
src = uri
Определяет местонахождение начального содержимого фрейма.
noresize
Если этот атрибут присутствует, он сообщает агенту пользователя, что размеры фрейма изменять нельзя.
scrolling = auto|yes|no
Этот атрибут задает информацию о прокрутке фрейма. Возможные значения
  • auto: При необходимости предоставлять возможности прокрутки. Это значение используется по умолчанию.
  • yes: Всегда предоставлять возможности прокрутки.
  • no: Не предоставлять возможности прокрутки.
frameborder = 1|0
Этот атрибут предоставляет агенту пользователя информацию о границе фрейма. Возможные значения:
  • 1: Агент пользователя должен изобразить разделитель между этим фреймам и всеми прилежащими фреймами. Это значение используется по умолчанию.
  • 0: Агент пользователя не должен отображать разделитель. Обратите внимание, что разделители могут все равно отображаться, если они заданы в других фреймах.
marginwidth = пикселы
Этот атрибут задает пространство, оставляемое во фрейме в качестве левого и правого полей. Значение должно превышать один пиксел. Значение по умолчанию зависит от агента пользователя.
marginheight = пикселы
Этот атрибут определяет верхнее и нижнее поля в фрейме. Значение должно превышать один пиксел. Значение по умолчанию зависит от агента пользователя.
Атрибуты, определяемые в другом месте
  • id, class (идентификаторы в пределах документа)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • target (информация о целевом фрейме)
Элемент FRAME определяет содержимое и вид одного фрейма.
Задание исходного содержимого фрейма
Атрибут src определяет исходный документ, содержащийся в фрейме.
В следующем примере документа HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Frameset//EN"   
"_THE_LATEST_VERSION_/frameset.dtd">
<HTML>
<HEAD><TITLE>Документ с фреймами</TITLE>
</HEAD>
<FRAMESET cols="33%,33%,33%">
  <FRAMESET rows="*,200">
      <FRAME src="contents_of_frame1.shtml">
      <FRAME src="contents_of_frame2.gif">
  </FRAMESET>
  <FRAME src="contents_of_frame3.shtml">
  <FRAME src="contents_of_frame4.shtml">
</FRAMESET>
</HTML>
должна создаваться примерно следующая страница:
 ------------------------------------------
|Фрейм 1     |Фрейм 3       |Фрейм 4       |
|            |              |              |
|            |              |              |
|            |              |              |
|            |              |              |
|            |              |              |
|            |              |              |
|            |              |              |
-------------|              |              |
|Фрейм 2     |              |              |
|            |              |              |
|            |              |              |
 ------------------------------------------
а агент пользователя должен загружать каждый файл в отдельный раздел.
Содержимое фрейма и его определение не должны находиться в одном документе.
ПРИМЕР НЕДОПУСТИМОГО ИСПОЛЬЗОВАНИЯ:
Следующее определение фреймов не является допустимым в HTML, поскольку содержимое второго фрейма находится в документе, описывающем набор фреймов.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Frameset//EN"   
"_THE_LATEST_VERSION_/frameset.dtd">
<HTML>
<HEAD><TITLE>Документ с фреймами</TITLE>
</HEAD>
<FRAMESET cols="50%,50%">
  <FRAME src="contents_of_frame1.shtml">
  <FRAME src="#anchor_in_same_document">
  <NOFRAMES>
  ...некоторый текст...
  <H2><Aname= "anchor_in_same_document">Importantsection</A></H2>
  ...некоторый текст...
  </NOFRAMES>
</FRAMESET>
</HTML>
Визуальное представление фрейма
В следующем примере показано использование декоративных атрибутов FRAME. Фрейм 1 не должен содержать полос прокрутки. В фрейме 2 вокруг содержимого (изображения) останется пустое пространство, и размер фрейма нельзя будет изменять. Между фреймами 3 и 4 не будет границы. Границы (по умолчанию) будут присутствовать между фреймами 1, 2 и 3.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
Frameset//EN"   
"_THE_LATEST_VERSION_/frameset.dtd">
<HTML>
<HEAD><TITLE>Документ с фреймами</TITLE>
</HEAD>
<FRAMESET cols="33%,33%,33%">
  <FRAMESET rows="*,200">
      <FRAME src="contents_of_frame1.shtml" scrolling="no">
      <FRAME src="contents_of_frame2.gif" 
                marginwidth="10" marginheight="15"
                noresize>
  </FRAMESET>
  <FRAME src="contents_of_frame3.shtml" frameborder="0">
  <FRAME src="contents_of_frame4.shtml" frameborder="0">
</FRAMESET>
</HTML>
 
На главную Новости Философия Наша история Наши клиенты
English online Web маркетинг Forex Отзывы о нас Персоналии
Рейтинг@Mail.ru
Яндекс цитирования
e-bay.ru - поиск и продажа  любых товаров
learning tests finance law forex computer work about us shop partners other
deutsch