Сделайте вашу веб-страницу идеальной с рамками

  1. Введение в кадры
  2. Рисунок 1: Пример веб-страницы с использованием фреймов
  3. Рисунок 2: Пример веб-страницы с использованием фреймов
  4. Листинг 1. Пример двухкадрового HTML-файла
  5. 1. <html> ... </ html>
  6. 2. <head> ... </ head>
  7. 3. <title> ... </ title>
  8. 4. <body> ... </ body> и другие теги и ссылки форматирования
  9. 5. <frameset> ... </ frameset>
  10. 6. <рамка>
  11. 7. <noframes> ... </ noframes>
  12. Вложенные наборы кадров
  13. Рисунок 3: Пример веб-страницы с тремя кадрами
  14. Листинг 2. Пример трехкадрового HTML-файла
  15. Называя ваши кадры
  16. Листинг 3. Пример трехкадрового HTML-файла, содержащего атрибут name
  17. 1. атрибут name = "framename"
  18. 2. атрибут target = "framename"
  19. Настройте свои рамки
  20. Рисунок 4: Пример трехкадровой веб-страницы с использованием дополнительных атрибутов
  21. 1. frameborder = "да или нет" атрибут
  22. 2. атрибут scrolling = "yes, no или auto"
  23. 3. атрибут noresize
  24. 4. marginheight = "пиксель" атрибут
  25. 5. атрибут marginwidth = "пиксели"
  26. Добавив немного стиля
  27. Листинг 5. Пример каскадной таблицы стилей для использования с фреймами
  28. Загружаемые ресурсы

Как фреймы могут сделать ваш сайт более эффективным и простым в использовании

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

Когда вы используете фреймы, один фрейм может содержать HTML-файл с навигацией вашего сайта, а второй фрейм может содержать ваш контент. Фрейм, содержащий навигацию, загружается в браузер только один раз, и навигация остается видимой, когда пользователи прокручивают ваш контент.

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

Введение в кадры

Фреймы предоставляют совершенно новый способ просмотра веб-страниц. HTML-фреймы были впервые представлены Netscape. Хотя теги фрейма не вошли в спецификацию HTML 3.2 (теги фрейма указаны в спецификации HTML 4.0), они были поддержаны в Netscape Navigator 2 и во всех более поздних версиях Netscape, а также в Microsoft Internet Explorer версии 3 и выше. И это означает единственное ограничение использования фреймов: не используйте фреймы с веб-контентом, который будет в первую очередь просматриваться в старых версиях браузера. Однако имейте в виду, что большинство пользователей Интернета сегодня используют или имеют доступ к Netscape Navigator или Microsoft Internet Explorer 4.x или выше. Зачастую они предоставляются либо с их операционной системой, либо через интернет-провайдера.

Лучший способ объяснить кадры - это посмотреть на пример. Рисунок 1 иллюстрирует пример веб-страницы, которая использует четыре кадра. Четыре кадра:

  1. Заголовок, который содержит синий и черный баннер.
  2. Нижний колонтитул, который окрашен в черный цвет и содержит некоторую стандартную информацию о сайте.
  3. Область навигации слева (синим цветом).
  4. Правая рамка (белого цвета), содержащая приветственную информацию сайта.

Каждый из этих четырех кадров может быть обновлен без изменения содержимого другого кадра.

Например, в Рисунок 1 Если вы нажмете на любую из ссылок в синей области навигации слева, содержимое в правой рамке изменится, чтобы отобразить соответствующую информацию. Однако использование фреймов означает, что остальные три раздела не изменяются и, таким образом, не позволяют тратить ресурсы на их перезагрузку. Кроме того, поскольку эти кадры не изменяются, когда пользователь прокручивает содержимое в правой белой рамке, информация, содержащаяся в трех оставшихся кадрах, не изменяется и всегда готова к использованию.

Одна и та же веб-страница может быть разработана с использованием таблиц, но содержимое заголовка, нижнего колонтитула и области навигации придется загружать повторно, когда пользователи переходят в разные части сайта. Кроме того, поскольку все будет на одной странице (и в одном кадре), навигация и заголовок, скорее всего, будут прокручиваться вне поля зрения, и если пользователи не будут выполнять прокрутку, они вообще не увидят нижний колонтитул.

Рисунок 1: Пример веб-страницы с использованием фреймов
Как фреймы могут сделать ваш сайт более эффективным и простым в использовании   Посмотрите на источник HTML многих веб-страниц сегодня, и вы найдете огромное количество таблиц, вложенных друг в друга с различными встроенными цветами и определенными шрифтами

Основы

Кое-что из того, что я описал выше, например нажатие на ссылку в одном кадре для загрузки контента в другом кадре, может показаться немного загадочным на этом этапе. Чтобы объяснить, давайте посмотрим на базовую веб-страницу, которая использует два фрейма, и рассмотрим создание набора фреймов.

Всякий раз, когда вы видите фреймы на веб-сайте, используется много HTML-файлов. Для каждого фрейма всегда есть один HTML-файл, а также HTML-файл, определяющий расположение фреймов. Например, Фигура 2 состоит из трех файлов HTML: framessample1.html (это файл кадров, который управляет макетом двух оставшихся файлов), bannerfile.html и contentfile.html.

Рисунок 2: Пример веб-страницы с использованием фреймов

Минимальное планирование должно быть сделано при создании всего двух кадров. Вам нужно два HTML-файла для источника каждого кадра. Вам также нужно выбрать размер двух кадров и решить, хотите ли вы разделить экран по горизонтали или вертикали. HTML в Листинг 1 был использован для создания кадров, показанных в фигура 2 ,

Листинг 1. Пример двухкадрового HTML-файла

<html> <head> <title> Пример файла HTML с двумя фреймами </ title> </ head> <frameset lines = "18%, 82%"> <frame src = "bannerfile.html"> <frame src = "contentfile .html "> <noframes> Netscape Navigator 2 или выше и Microsoft Internet Explorer 3 или выше требуется для просмотра кадров. </ noframes> </ frameset> </ html>

Лучший способ объяснить HTML-код, используемый для создания двухкадровой веб-страницы, показан на фигура 2 это посмотреть на каждый тег в отдельности. Эти теги являются минимумом, необходимым для создания фреймов. (См. Раздел Настройте свои рамки , найденный позже в статье, для дополнительных атрибутов кадра.)

1. <html> ... </ html>

Используйте теги <html>, как если бы вы использовали любой HTML-файл.

2. <head> ... </ head>

Используйте теги <head>, как если бы вы использовали любой HTML-файл. Нет необходимости добавлять стиль или ссылаться на каскадную таблицу стилей, потому что нет содержимого для форматирования.

3. <title> ... </ title>

Заголовок, который вы вводите в файл кадров, появляется в заголовке в верхней части окна браузера. Заголовок в файле HTML каждого фрейма не отображается, пока отображается внутри фрейма.

4. <body> ... </ body> и другие теги и ссылки форматирования

Использование тега <frameset> в файле HTML означает, что вы не можете включать тег <body>, любые другие теги форматирования или ссылки вне тегов, описанных здесь.

5. <frameset> ... </ frameset>

Создает набор фреймов, которые размечаются на основе определенных вами атрибутов row и cols. Когда вы определяете тег <frameset>, вы также должны включать один из двух атрибутов определения размера (строки или столбцы) как часть тега.

  • Атрибут row = «проценты, пиксели или *» Атрибут row разбивает окно браузера на горизонтальные рамки. Высота этих фреймов определяется значениями высоты строк, разделенными запятыми. Вы можете определить высоту строки одним из трех способов: в пикселях, в процентах от общей высоты набора фреймов или звездочкой (*), используя как можно больше свободного места.

    Например, в Листинг 1 , <frameset lines = "18%, 82%"> разбивает набор фреймов по горизонтали, причем верхний фрейм занимает 18% окна браузера, а второй фрейм занимает оставшиеся 82%.

  • Атрибут cols = «проценты, пиксели или *» Атрибут cols разбивает окно браузера на вертикальные рамки. Ширина этих кадров определяется значениями ширины столбца, разделенными запятыми. Вы можете определить ширину столбца одним из трех способов: в пикселях, в процентах от общей ширины набора фреймов или звездочкой (*), используя как можно больше свободного места.

    Например, см. Перечисление 3 , <frameset cols = "25%, 75%"> разбивает набор фреймов по вертикали: первый столбец занимает 25% окна браузера, а второй столбец занимает остальные 75%.

  • Другой пример строк и столбцов Также допустимо смешивать единицы, например, <frameset rows = "50,50%, *">. Это создает окно с тремя кадрами. Первый кадр составляет 50 пикселей, второй - 50% экрана, а третий занимает оставшуюся часть экрана.

6. <рамка>

Используется для определения веб-страницы, отображаемой в каждом кадре. Когда вы определяете тег <frame>, вы также должны включать атрибут src как часть тега.

7. <noframes> ... </ noframes>

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

Вложенные наборы кадров

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

Рисунок 3: Пример веб-страницы с тремя кадрами

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

Листинг 2. Пример трехкадрового HTML-файла

<html> <head> <title> Пример файла HTML с тремя фреймами </ title> </ head> <frameset lines = "18%, 82%"> <frame src = "bannerfile.html"> <frameset cols = "25 %, 75% "> <frame src =" navigationfile.html "> <frame src =" contentfile.html "> </ frameset> <noframes> Netscape Navigator 2 или более поздней версии, а для просмотра фреймов требуется Microsoft Internet Explorer 3 или более поздней версии. . </ noframes> </ frameset> </ html>

Называя ваши кадры

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

Атрибут name - это идентификатор кадра. Имя фрейма используется как цель ссылки, сообщая браузеру, где отображать страницу. Перечисление 3 показывает пример кода, который использовался для создания веб-страницы с тремя фреймами выше, с атрибутом имени, добавленным к каждому фрейму фрейма. Изменения выделены жирным шрифтом.

Листинг 3. Пример трехкадрового HTML-файла, содержащего атрибут name

<html> <head> <title> Пример файла HTML с тремя фреймами </ title> </ head> <frameset lines = "18%, 82%"> <frame src = "bannerfile.html" name = "banner"> < frameset cols = "25%, 75%"> <frame src = "navigationfile.html" name = "nav"> <frame src = "contentfile.html" name = "content"> </ frameset> <noframes> Netscape Navigator 2 или выше, для просмотра фреймов требуется Microsoft Internet Explorer 3 или выше. </ Noframes> </ frameset> </ html>

Имя и целевые атрибуты описаны более подробно ниже.

1. атрибут name = "framename"

Каждый кадр может иметь имя, но это не обязательно. Атрибут name - это идентификатор кадра. Это позволяет вам определить конкретный фрейм, в который можно загрузить страницу. Пример использования: <frame src = "filename.html" name = "name">

2. атрибут target = "framename"

Используйте атрибут ссылки "target", чтобы определить, где вы хотите, чтобы браузер отображал страницу. Имя кадра или окна используется как значение цели. Типичным использованием атрибута target является создание списка ссылок в одном фрейме и открытие связанных страниц в определенной цели или окне.

Например, HTML-страница во фрейме «nav» содержит ссылку на другую страницу, которую вы хотите открыть во фрейме «content». Если щелкнуть ссылку во фрейме «nav», файл фрейма «content» изменится. Пример использования: <a href="newpage.html" target="content"> Новая страница </a>

Точно так же, если вы не хотите, чтобы страница загружалась или заменяла ваш набор фреймов, определите цель ссылки как "_blank" ;. Это откроет другой экземпляр браузера и загрузит страницу там. Пример использования: <a href="http://www.ibm.com" target="_blank"> IBM </a>

Настройте свои рамки

Существуют дополнительные атрибуты frame и frameset, которые можно использовать для дальнейшей настройки внешнего вида и функции каждого кадра. сравнить Рисунок 4 с Рисунок 3 и вы увидите, что границы рамки исчезли, в баннере больше нет полосы прокрутки, а документ в рамке содержимого имеет увеличенные поля между документом и краями рамки. Листинг 4 (дополнительные атрибуты выделены жирным шрифтом) показывает код, используемый для создания кадров, показанных в Рисунок 4 ,

Рисунок 4: Пример трехкадровой веб-страницы с использованием дополнительных атрибутов
Листинг 4. Пример трехкадрового HTML-файла с дополнительными атрибутами

<html> <head> <title> Пример файла HTML с тремя фреймами </ title> </ head> <frameset lines = "18%, 82%" frameborder = "no"> <frame src = "bannerfile.html" name = "banner" scrolling = "no"> <frameset cols = "25%, 75%"> <frame src = "navigationfile.html" name = "nav" noresize> <frame src = "contentfile.html" name = "content "marginheight =" 50 "marginwidth =" 50 "> </ frameset> <noframes> Netscape Navigator 2 или выше и Microsoft Internet Explorer 3 или выше требуется для просмотра кадров. </ noframes> </ frameset> </ html>

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

1. frameborder = "да или нет" атрибут

Определяет, виден ли фреймбордер или нет. Как правило, браузером по умолчанию для фреймов является «да», поэтому, если вы хотите, чтобы фреймбордеры использовались, вам не нужно использовать этот атрибут. Пример использования: <frameset lines = "50%, 50%" frameborder = "no">

2. атрибут scrolling = "yes, no или auto"

Вы можете контролировать, хотите ли вы, чтобы пользователь мог прокручивать кадр. Обычно в браузере по умолчанию для прокрутки используется значение «да» или «авто». Пример использования: <frame src = "filename.html" scrolling = "auto">

3. атрибут noresize

По умолчанию размер кадров может изменяться пользователем независимо от заданных вами атрибутов строк и столбцов набора кадров. Добавьте атрибут noresize в тег <frame>, если вы хотите заблокировать изменение размера. Пример использования: <frame src = "filename.html" noresize>

4. marginheight = "пиксель" атрибут

Количество пикселей над и под документом в кадре. Разные браузеры имеют разные значения по умолчанию. Это подтверждает появление ваших кадров в целевых браузерах. Пример использования: <frame src = "filename.html" marginheight = "0">

5. атрибут marginwidth = "пиксели"

Количество пикселей слева и справа от документа в кадре. Разные браузеры имеют разные значения по умолчанию. Это подтверждает появление ваших кадров в целевых браузерах. Пример использования: <frame src = "filename.html" marginwidth = "5">

Добавив немного стиля

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

При использовании таблицы стилей примените стиль по умолчанию к кадру с наибольшим количеством изменений. Таким образом, вам не нужно постоянно ссылаться на класс таблицы стилей во всех ваших тегах (<body> против <body class = "nav">). Затем определите класс (BODY.nav, где «nav» - класс) для каждого фрейма, который остается постоянным или имеет небольшие изменения (например, баннер или навигация по сайту). Это позволяет легко изменить общий вид всего набора фреймов, изменив цвета или добавив фоновые изображения одним файлом.

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

Листинг 5. Пример каскадной таблицы стилей для использования с фреймами

/ * Пример каскадной таблицы стилей кадров * / / * BANNER FRAME STYLE * / BODY.banner {font-family: Arial, sans-serif; цвет фона: # 006699; цвет: #FFFFFF;} / * СТИЛЬ НАВИГАЦИОННОЙ КАДРЫ * / BODY.nav {font-family: Arial, sans-serif; цвет фона: # 99ccff; цвет: # 000000;} / * СТИЛЬ РАМКА КОНТЕНТА ДЛЯ СОДЕРЖАНИЯ СТРАНИЦЫ * / BODY {font-family: Arial, sans-serif; background цвет: #FFFFFF; цвет: # 000000;}

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

Загружаемые ресурсы

похожие темы

Подпишите меня, чтобы комментировать уведомления