HTML Frames

HTML — Frames

HTML frames are used to divide your browser window into multiple sections where each section can load a separate HTML document. A collection of frames in the browser window is known as a frameset. The window is divided into frames in a similar way the tables are organized: into rows and columns.

Disadvantages of Frames

There are few drawbacks with using frames, so it’s never recommended to use frames in your webpages −

  • Some smaller devices cannot cope with frames often because their screen is not big enough to be divided up.
  • Sometimes your page will be displayed differently on different computers due to different screen resolution.
  • The browser’s back button might not work as the user hopes.
  • There are still few browsers that do not support frame technology.

Creating Frames

To use frames on a page we use tag instead of tag. The tag defines, how to divide the window into frames. The rows attribute of tag defines horizontal frames and cols attribute defines vertical frames. Each frame is indicated by tag and it defines which HTML document shall open into the frame.

Note − The tag deprecated in HTML5. Do not use this element.

Example

Following is the example to create three horizontal frames −

         <body>Your browser does not support frames.</body>    

This will produce the following result −

Читайте также:  Установка временной зоны javascript

Example

Let’s put the above example as follows, here we replaced rows attribute by cols and changed their width. This will create all the three frames vertically −

         <body>Your browser does not support frames.</body>    

This will produce the following result −

The Tag Attributes

Following are important attributes of the tag −

Specifies how many columns are contained in the frameset and the size of each column. You can specify the width of each column in one of the four ways −

Absolute values in pixels. For example, to create three vertical frames, use cols = «100, 500, 100».

A percentage of the browser window. For example, to create three vertical frames, use cols = «10%, 80%, 10%».

Using a wildcard symbol. For example, to create three vertical frames, use cols = «10%, *, 10%». In this case wildcard takes remainder of the window.

As relative widths of the browser window. For example, to create three vertical frames, use cols = «3*, 2*, 1*». This is an alternative to percentages. You can use relative widths of the browser window. Here the window is divided into sixths: the first column takes up half of the window, the second takes one third, and the third takes one sixth.

This attribute works just like the cols attribute and takes the same values, but it is used to specify the rows in the frameset. For example, to create two horizontal frames, use rows = «10%, 90%». You can specify the height of each row in the same way as explained above for columns.

This attribute specifies the width of the border of each frame in pixels. For example, border = «5». A value of zero means no border.

This attribute specifies whether a three-dimensional border should be displayed between frames. This attribute takes value either 1 (yes) or 0 (no). For example frameborder = «0» specifies no border.

This attribute specifies the amount of space between frames in a frameset. This can take any integer value. For example framespacing = «10» means there should be 10 pixels spacing between each frames.

The Tag Attributes

Following are the important attributes of tag −

This attribute is used to give the file name that should be loaded in the frame. Its value can be any URL. For example, src = «/html/top_frame.htm» will load an HTML file available in html directory.

This attribute allows you to give a name to a frame. It is used to indicate which frame a document should be loaded into. This is especially important when you want to create links in one frame that load pages into an another frame, in which case the second frame needs a name to identify itself as the target of the link.

This attribute specifies whether or not the borders of that frame are shown; it overrides the value given in the frameborder attribute on the tag if one is given, and this can take values either 1 (yes) or 0 (no).

This attribute allows you to specify the width of the space between the left and right of the frame’s borders and the frame’s content. The value is given in pixels. For example marginwidth = «10».

This attribute allows you to specify the height of the space between the top and bottom of the frame’s borders and its contents. The value is given in pixels. For example marginheight = «10».

By default, you can resize any frame by clicking and dragging on the borders of a frame. The noresize attribute prevents a user from being able to resize the frame. For example noresize = «noresize».

This attribute controls the appearance of the scrollbars that appear on the frame. This takes values either «yes», «no» or «auto». For example scrolling = «no» means it should not have scroll bars.

This attribute allows you to provide a link to another page containing a long description of the contents of the frame. For example longdesc = «framedescription.htm»

Browser Support for Frames

If a user is using any old browser or any browser, which does not support frames then element should be displayed to the user.

So you must place a element inside the element because the element is supposed to replace the element, but if a browser does not understand element then it should understand what is inside the element which is contained in a element.

You can put some nice message for your user having old browsers. For example, Sorry!! your browser does not support frames. as shown in the above example.

Frame’s name and target attributes

One of the most popular uses of frames is to place navigation bars in one frame and then load main pages into a separate frame.

Let’s see following example where a test.htm file has following code −

        <body>Your browser does not support frames.</body>    

Here, we have created two columns to fill with two frames. The first frame is 200 pixels wide and will contain the navigation menu bar implemented by menu.htm file. The second column fills in remaining space and will contain the main part of the page and it is implemented by main.htm file. For all the three links available in menu bar, we have mentioned target frame as main_page, so whenever you click any of the links in menu bar, available link will open in main page.

Following is the content of menu.htm file

   Google 

Microsoft

BBC News

Following is the content of main.htm file −

    

So now click any link and see the result.

When we load test.htm file, it produces following result −

Now you can try to click links available in the left panel and see the result. The targetattribute can also take one of the following values −

Loads the page into the current frame.

Loads a page into a new browser window. Opening a new window.

Loads the page into the parent window, which in the case of a single frameset is the main browser window.

Loads the page into the browser window, replacing any current frames.

Loads the page into a named targetframe.

Источник

Фреймы

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

  • Оглавление. Если вы поместите на Web-страницу оглавление в виде вертикального столбца, то пользователь сможет обратиться к нему в любой момент, и ему не нужно будет постоянно щелкать на кнопке возврата к предыдущей странице. Поскольку, находясь во фрейме, оглавление всегда будет под рукой, пользователю нужно будет просто выбрать другой его пункт и сразу же получить нужную информацию.
  • Неподвижные элементы интерфейса. Можно зафиксировать на экране какое-то графическое изображение, например, логотип фирмы, в то время как остальная часть страницы будет прокручиваться в другом фрейме.
  • Формы и результаты. Можно создать форму в одном фрейме, а в другом отобразить результаты запроса.

Обычные фреймы на данный момент считаются устаревшей технологией и не поддерживаются в HTML5. Не используйте обычные фреймы в своих проектах! В HTML5 тегов frame, frameset и noframes уже просто нет, вместо них предусмотрен один единственный тег iframe (встроенный или плавающий фрейм).

Тег

Тег заменяет тег и используется для разделения экрана. Имеет закрывающий тег.

Атрибуты тега

cols Делит экран по вертикали. Принимает значения в пикселях, в процентах или просто *. Значение * говорит о том, что конкретный столбец будет занимать всю остальную часть экрана rows Делит экран по горизонтали. Принимает значения в пикселях, в процентах или просто *. Значение * говорит о том, что конкретная строка будет занимать всю остальную часть экрана frameborder Определяет наличие рамок, т.е. границ фреймов. Принимает значения «yes» или «no» border Ширина рамки в пикселях bordercolor Цвет рамок. По умолчанию (если используется стандартная цветовая схема системы Windows) границы фреймов имеют тусклый, серый оттенок. Но при желании можно выбрать любой другой цвет. При определении цвета можно выбрать как его название, так и числовой эквивалент в системе RGB. Например, blue или #0000ff

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

Пример

Используя сразу оба атрибута – и cols, и rows в одном теге , вы не сможете получить такое разбиение экрана.

Источник

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