Фреймы при создании сайта

Использование парного тэга frame позволяет помещать в окна одной страницы несколько отдельных страниц, произвольно менять их размеры и организовывать изменение содержимого одного окна после выполнения пользователем действий в другом окне. Это позволяет использовать их в качестве инструмента навигации. Парный тэг frameset в данном случае заменяет тэг body.



Внутри пары <frameset> могут быть использованы только тэги <frame>, <frameset> и <noframes>. По сути создается несколько отдельных страниц фреймов, которые выводятся на экран одновременно в виде нескольких окошек одного документа. Другими словами, прежде чем организовывать отдельные документы в виде фреймов одного документа, необходимо прежде всего создать сами документы. Для пользователей, чей броузер не поддерживает фреймы, необходимо создать альтернативный документ или сообщение о том, каким броузером нужно воспользоваться для прoсмотра данного документа и заключить его в тэги <noframe>


<frameset> позволяет задать относительный и абсолютный размер фреймов и может иметь атрибуты:

border - задает толщину обрамления в пикселах для всех производных фреймов.

Пример:

<frameset border="число">




cols - задает количество и размер колонок в создаваемом наборе кадров в пикселах, процентах или пропорционально другим кадрам. Значения ширины различных кадров перечисляются в кавычках и через запятую.

Пример:

<frameset cols="число, число или %">




rows - задает количество и размер строк в создаваемом наборе кадров в пикселах, процентах или пропорционально другим кадрам. Значения высоты различных кадров перечисляются в кавычках и через запятую.

Пример:

<frameset rows="число, число или %">




frameborder - задает наличие или отсутствие обрамления у фреймов. Значение 1 соответствует наличию, а 0 - отсутствию обрамления.

Пример:

<frameset frameborder="1 или 0">




<frame> - определяет содержимое заданных фреймов. Он может иметь атрибуты:


src - задает документ, который должен быть отображен во фрейме.

Пример:

<frame src="URL">




marginheight - задает толщину верхнего и нижнего обрамления в пикселах.

Пример:

<frame marginheight="число">




marginwidth - задает толщину правого и левого обрамления в пикселах.

Пример:

<frame marginwidth="число">




name - задает любое имя фрейма, по которому можно будет обращаться к нему с помощью атрибута target в ссылках <a href>. Но существует четыре зарезервированных имени:

  • _blank - имя открывает в новом окне содержимое указанного URL.
  • _parent - имя открывает содержимое указанного URL в родительском, относительно текущего, фрейме.
  • _self - если так назвать фрейм, то содержимое указанного URL заменит первоначально находившуюся в этом фрейме ссылку.
  • _top - имя отображает содержимое указанного URL в развёрнутом на всё окно фрейме.



  • noresize - лишает пользователя возможности изменить размеры текущего и смежного фреймов с помощью мыши.

    Пример:

    <frame noresize>




    scrolling - задает наличие у кадра полос прокрутки, принимает значения yes, no и auto.

    Пример:

    <frame scrolling="значение">




    <iframe> - позволяет вставить в тело body окно, в котором визуализируется другая страница, при этом тэг iframe, в отличие от тэга frame вставляется не между тэгами frameset, а между тэгами body и имеет следующие атрибуты:

    src - задает документ, который должен быть отображен во фрейме.

    Пример:

    <iframe src="URL">




    frameborder - задает наличие или отсутствие обрамления у фреймов. Может принимать значения: Значение 1 соответствует наличию, а 0 - отсутствию обрамления.

    Пример:

    <iframe frameborder="1 или 0">




    marginheight - задает толщину верхнего и нижнего обрамления в пикселах.

    Пример:

    <iframe marginheight="число">




    marginwidth - задает толщину правого и левого обрамления в пикселах.

    Пример:

    <iframe marginwidth="число">


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

    Пример:

    <iframe name="имя">




    align - позволяет позиционировать кадр по отношению к тексту, принимает значения left, right, middle, top и bottom.

    Пример:

    <iframe align="left">




    scrolling - задает наличие у кадра полос прокрутки, принимает значения yes, no и auto.

    Пример:

    <iframe scrolling="значение">




    width - определяет ширину кадра в пикселях.

    Пример:

    <iframe width="число">




    height - определяет высоту кадра в пикселях.

    Пример:

    <iframe height="число">


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

      Пример:

    <html>    <!-- начало документа -->
    <head>    <!-- голова документа -->
    <meta http-equiv="Content-Type" content="text/html;charset=windows-1251">    <!-- язык документа -->
    <title>Примеры фрейма</title>    <!-- заголовок -->
    </head>    <!-- закрытие головы документа -->
    <frameset frameborder=1 border=4 cols="20%,*,20%">    <!-- разрешить рамку, толщина рамки, размеры вертикальных фреймов -->
    <frame scrolling="auto" noresize src="frame1_1.html" name="1">    <!-- линейка прокрутки, запрет на изменение размера, подгружаемый файл, имя фрейма -->
    <frame scrolling="auto" noresize src="frame1_2.html" name="2">
    <frame scrolling="auto" noresize src="frame1_3.html" name="3">
    </frameset>
    </html>


    Как Вы уже, наверное, заметили, в этом HTML-документе отсутствует тэг body. В данном случае парный тэг frameset заменяет тэг body. Размеры фреймов выбраны такими: 1-й и 3-й имеют размер в 20% от ширины экрана, а второму достается все что осталось. У Вас должно получиться так. Теперь сделаем три горизонтальных фрейма. Код документа тот же самый, только атрибут cols заменяем на атрибут rows со своими значениями. Попробуйте с этим справиться сами. У Вас должно получиться три горизонтальных фрейма, примерно так. Если это не так - внимательно просмотрите код или вернитесь к описанию тэгов создания фрейма.


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

      Пример:
    <html>    <!-- начало документа -->
    <head>    <!-- голова документа -->
    <meta http-equiv="Content-Type" content="text/html;charset=windows-1251">    <!-- язык документа -->
    <title>Примеры фрейма</title>    <!-- заголовок -->
    </head>    <!-- закрытие головы документа -->
    <frameset frameborder=1 border=4 rows="150,*">    <!-- разрешить рамку, толщина рамки, размеры горизонтального фрейма -->
    <frame scrolling="auto" noresize src="frame1_1.html" name="1">    <!-- линейка прокрутки, запрет на изменение размера, подгружаемый файл, имя фрейма -->
    <frameset frameborder=1 border=4 cols="170,*">    <!-- разрешить рамку, толщина рамки, размеры вертикальных фреймов -->
    <frame scrolling="auto" noresize src="frame1_2.html" name="2">
    <frame scrolling="auto" noresize src="frame1_3.html" name="3">
    </frameset>
    </frameset>
    </html>


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


    Теперь рассмотрим, как можно использовать фреймы внутри кода HTML, т.е. внутри тэга body с применением тэга iframe.


      Пример:
    <html>    <!-- начало документа -->
    <head>    <!-- голова документа -->
    <meta http-equiv="Content-Type" content="text/html;charset=windows-1251">    <!-- язык документа -->
    <title>Примеры фрейма</title>    <!-- заголовок -->
    </head>    <!-- закрытие головы документа -->
    <body>    <!-- тело документа -->
    <center>    <!-- выравнивание по центру -->
    <iframe src="../examples/Текстовый документ.txt" name="frame1" width="70%" height="400" border="0"></iframe>    <!-- путь к документу, имя фрейма, длина и высота фрейма и рамка -->
    </center>
    </body>
    </html>




    Укажите свой путь к документу и наслаждайтесь. Как видите, во фрейм можно загружать не только HTML документы, но и текстовые файлы, этим самым мы можем сэкономить место на страничке, если вам необходимо будет процитировать какой-то кусок текста или, как в данном, случае показать какой-либо код.




    И в заключение...

    Реклама


    Hosted by uCoz