Программирование |
Web мастеру |
3D Графика и анимация |
Сетевая безопасность |
Гостевая книга |
Форум |
Ссылки |
Услуги |
|
|
На главную страницу > > В раздел программирование > > В раздел Html |
Frame(кадры). |
Вы можете
разделить экран на несколько независимых оконных кадров, каждый из которых
отображает отдельный HTML документ. На экране кадры представляют собой
прямоугольники. В HTML используются следующие команды работы с
кадрами: <FRAMESET>, </FRAMESET> - определяют состав и размеры кадров на экране, <FRAME>,</FRAME> - определяют HTML файл для каждого кадра, <NOFRAMES>,</NOFRAMES> - для сообщений браузеру, не обрабатывающему кадры. Сначала рассмотрим простейший ПРИМЕР 1:BR> Пусть требуется разделить экран на 2 части: - Левый кадр, отображающий файл F1.HTM, занимает 30% экрана, - Правый кадр, отображающий файл F2.HTM, занимает 70% экрана. Тогда в головном файле домашней страницы следует записать: <HTML> <HEAD> <TITLE>Frames Example 1</TITLE> </HEAD> <FRAMESET COLS= 30%,*> <FRAME SRC="F1.htm"> <FRAME SRC="F2.htm"> </FRAMESET> <HTML> Рассмотрим более сложный ПРИМЕР 2: В головном файле домашней страницы запишите: <HTML> <HEAD> <TITLE>Frames Example 2</TITLE> </HEAD> <FRAMESET COLS= 30%,*> <FRAMESET ROWS=50%,*> <FRAME SRC="F1.htm"> <FRAME SRC="F2.htm"> </FRAMESET> <FRAMESET ROWS=33%,33%,*> <FRAME SRC="F3.htm"> <FRAME SRC="F4.htm"> <FRAME SRC="F5.htm"> </FRAMESET> </FRAMESET> </HTML> Формат команды FRAMESET. Команда делит целое окно (или часть окна, определенное предыдущей командой <FRAMESET>) на несколько вертикальных (атрибут COLS ) или горизонтальных (атрибут ROWS ) кадров. Каждый из этих кадров может определять HTML - файл, отображаемый в ней (с помощью команды <FRAME> ) или, соответственно, делиться дальше по тем же правилам со вложенной командой <FRAMESET> (см. Пример 2). По концу определения кадров, задаваемых командой <FRAMESET>, не забудьте записать команду </FRAMESET>, иначе они могут быть построены неправильно. Формат атрибутов COLS и ROWS. Эти атрибуты позволяют определить размеры и количество построенных вертикально (атрибут COLS ) или горизонтально (атрибут ROWS ) кадров. Аттрибуты атрибутов задаются в одной из 3 форм: - абсолютный размер в пикселях, - заданный процент в общей длине или ширине, - остаток после задания предыдущих кадров (*). Рассмотрим распределение экранного пространства на примерах. Если записать: <FRAMESET ROWS="150,300,150"> то браузер при просмотре выделит первому кадру 150 пикселей, второму - 300 пикселей, третьему - 150 пикселей, но высота экрана может быть не 500 пикселей. Тогда браузер пропорционально увеличит или уменьшит размеры всех кадров. Поэтому лучше записать: <FRAMESET ROWS="25%,50%,25%"> Результат тот же, но запись соответствует фактическому распределению и легче избежать ошибок при дальнейшей корректировке размеров окон. Если же сумма процентов не равна 100 , то браузер автоматически увеличит или уменьшит размеры кадров в соответствии с размером экрана. В начале данного размера приводились примеры с использованием символа "*". Этот символ означает выделение кадру оставшейся площади. Например, команда: <FRAMESET ROWS=" 100,*"> создает 2 кадра: верхний составляет 100 пикселей в высоту, нижний - оставшееся пространство. Команда: <FRAMESET ROWS="100,*,100"> создает 3 кадра: - верхний составляет 100 пикселей в высоту, - нижний - 100 пикселей в высоту, - средний - оставшееся пространство в центре. Команда: <FRAMESET ROWS="*,200,*"> создает 3 кадра: - средний - 100 пикселей в высоту, - верхний и нижний - равного размера. Команда: <FRAMESET ROWS=" 100,2*,*,3*"> создает 4 кадра: - верхний составляет 100 пикселей в высоту, - оставшаяся площадь делится на 6 равных по высоте частей: - второму сверху кадру выделяется 2 части, - третьему сверху кадру выделяется 1 часть, - четвертому сверху кадру выделяется 3 части. Формат команды FRAME. Данная команда существует только внутри блока <FRAMESET></FRAMESET>. Ее назначение - определение функций конкретного кадра. Команда </FRAME> практически не используется, т.к. ее функции исполняют команды /FRAMESET и следующая FRAME. Атрибут SRC задает имя HTML - файла, отображаемого в данном кадре. Атрибут NAME применяется для создания имени кадра. Тогда другой кадр может ссылаться на данный для отображения в ней своего гипертекста. Изменим ПРИМЕР 1 так, чтобы правый кадр получил имя "VIEW_WINDOW". <HTML> <HEAD> <TITLE>Frames Example 1</TITLE> </HEAD> <FRAMESET COLS=30%,*> <FRAME SRC="F1.htm"> <FRAME SRC="F2.htm" NAME="VIEW_WINDOW"> </FRAMESET> <HTML> HTML - файл F1.HTML для левого кадра построим следующим образом: <UL> <LI>A HREF="Text1.htm" TARGET="VIEW_WINDOW">ТЕКСТ1</A> <LI>A HREF="Text2.htm" TARGET="VIEW_WINDOW">ТЕКСТ2</A> <LI>A HREF="Text3.htm" TARGET="VIEW_WINDOW">ТЕКСТ3</A> </UL> Теперь, если в левом кадре выбрать любую ссылку по гипертексту, то соответствующий файл TEXTx.HTML отобразится в правом кадре. Этот очень распространенный прием можно видеть во многих домашних страницах. Его преимущество в том, что на экране можно одновременно видеть и вызывающий, и вызываемый HTML - файлы и для просмотра следующего файла гипертекста достаточно нажать на соответвующую кнопку вызывающего файла. Файл F1.HTML можно построить и следующим образом: <BASE TARGET=" VIEW_WINDOW"> ... <UL> <LI>A HREF="Text1.htm">ТЕКСТ1</A> <LI>A HREF="Text2.htm">ТЕКСТ2</A> <LI>A HREF="Text3.htm">ТЕКСТ3</A> </UL> Атрибут TARGET команды BASE задает кадр, выделяемый по умолчанию для отображения гипертекста. Атрибут NORESIZE применяется для того, чтобы пользователь не смог изменить размеры данного кадра на экране. Линейки прокрутки задаются с помощью атрибута SCROLLING. Здесь действуют следующие правила: - Если атрибут SCROLLING не задан, то линейки прокрутки создаются автоматически тогда и только тогда, когда размер отображаемого текста превышает размер кадра (это относится как к размеру по вертикали, так и по горизонтали. - Если задано SCROLLING="YES", то линейки прокрутки создаются всегда. - Если задано SCROLLING="NO", то линейки прокрутки не создаются. - Если задано SCROLLING="AUTO", то система работает так же, как если атрибут SCROLLING не задан. Толщина граничной линии между кадрами может задаваться в пикселях с помощью атрибутов MARGINHEIGHT и MARGINWIDTH, если разработчика не устраивают значения, заданные по умолчанию. Специальные значения атрибута TARGET. В современных браузерах зарезервировано 4 специальных значения атрибута TARGET: - _blank - браузер всегда задает это значение для нового, неименованного окна. - _self - задается по умолчанию для всех кадров, в операторе FRAME которых нет атрибута TARGET. Все вызываемые по гиперссылке документы загружаются и отображаются в том же кадре, что и вызывающий их документ. Значение _self в явном виде не применяется до тех пор, пока мы не вводим команду BASE с атрибутом TARGET - тогда, возможно, понадобится отменить это общее назначение для какого-либо конкретного кадра. - _parent - вызываемый по гиперссылке файл загружается в кадр или окно, которое является родительским по отношению к вызывающему. Другими словами, вызываемый файл будет расположен в том же окне, что и его "дедушка". - _top - вызываемый по гиперссылке файл загружается в окно, содержащее ссылку, и перекрывает все кадры данного окна. Формат команды NOFRAME. Данная команда предназначена для браузеров, не обрабатывающих кадры. В браузере, обрабатывающем кадры, вся информация, содержащаяся между командами NOFRAME и /NOFRAME, игнорируется. В браузере, не обрабатывающем кадры, эта информация обрабатывается. Обычно разработчики страниц, использующие кадры, встаавляют в тело команды NOFRAME сообщение о том, что данный браузер не обрабатывает кадры и сообщает рекомендации, например, перейти на Netscape 2.0 и выше. Пример 4: <HTML> <HEAD> <TITLE>EXAMPLE 4</TITLE> </HEAD> <FRAMESET COLS="125,*"> <FRAME SRC="F-left.htm"> <FRAME SRC="F-right.htm"> </FRAMESET> <NOFRAME> <BODY> ВНИМАНИЕ! Для просмотраданного документа требуется браузер, обрабатывающий кадры, например, Netscape 2.0 и выше. Ваш браузер этим свойством не обладает. Для просмотра левого файла нажмите ЛЕВЫЙ ФАЙЛ. Для просмотра правого файла нажмите ПРАВЫЙ ФАЙЛ. </BODY> </NOFRAME> </HTML> |
На главную страницу > > В раздел программирование > > В раздел Html |