Создание фреймов | htmlbook.ru
Несмотря на то, что сайты с фреймами встречаются все реже, изучение HTML было бы неполным без рассмотрения темы о фреймах. К тому же фреймы в каком-то смысле заняли свою нишу и применяются для систем администрирования и справки. Там, где недостатки фреймов не имеют особого значения, а преимущества наоборот, активно востребованы.
Для создания фрейма используется тег <frameset>, который заменяет тег <body> в документе и применяется для разделения экрана на области. Внутри данного тега находятся теги <frame>, которые указывают на HTML-документ, предназначенный для загрузки в область (рис. 13.1).
Рис. 13.1. Пример разделения окна браузера на два фрейма
При использовании фреймов необходимо как минимум три HTML-файла: первый определяет фреймовую структуру и делит окно браузера на две части, а оставшиеся два документа загружаются в заданные окна. Количество фреймов не обязательно равно двум, может быть и больше, но никак не меньше двух, иначе вообще теряется смысл применения фреймов.
Рассмотрим этапы создания фреймов на основе страницы, продемонстрированной на рис. 13.1. Нам понадобится три файла: index.html — определяет структуру документа, menu.html — загружается в левый фрейм и content.html — загружается в правый фрейм. Из них только index.html отличается по структуре своего кода от других файлов (пример 13.1).
Пример 13.1. Файл index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Фреймы</title> </head> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </html>
В случае использования фреймов в первой строке кода пишется следующий тип документа.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset. dtd">
Данный <!DOCTYPE> указывает браузеру, что он имеет дело с фреймами, эта строка кода является обязательной. Контейнер <head> содержит типовую информацию вроде кодировки страницы и заголовка документа. Вот только учтите, что заголовок остается неизменным, пока HTML-файлы открываются внутри фреймов.
В данном примере окно браузера разбивается на две колонки с помощью атрибута cols, левая колонка занимает 100 пикселов, а правая — оставшееся пространство, заданное символом звездочки. Ширину или высоту фреймов можно также задавать в процентном отношении, наподобие таблиц.
В теге <frame> задается имя HTML-файла, загружаемого в указанную область с помощью атрибута src. В левое окно будет загружен файл, названный menu.html (пример 13.2), а в правое — content.html (пример 13.3). Каждому фрейму желательно задать его уникальное имя, чтобы документы можно было загружать в указанное окно с помощью атрибута name.
Пример 13.2. Файл menu.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Навигация по сайту</title> </head> <body> <p>МЕНЮ</p> </body> </html>
В данном примере серый фон на странице задается с помощью стилей, о которых речь пойдет далее.
Пример 13.3. Файл content.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Содержание сайта</title> </head> <body> <p>СОДЕРЖАНИЕ</p> </body> </html>
Рассмотрим более сложный пример уже с тремя фреймами (рис. 13.2).
Рис. 13.2. Разделение страницы на три фрейма
В данном случае опять используется тег <frameset>, но два раза, причем один тег вкладывается в другой. Горизонтальное разбиение создается через атрибут rows, где для разнообразия применяется процентная запись (пример 13.4).
Пример 13.4. Три фрейма
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Фреймы</title> </head> <frameset rows="25%,75%"> <frame src="top.html" name="TOP" scrolling="no" noresize> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </frameset> </html>
Как видно из данного примера, контейнер <frameset> с атрибутом rows вначале создает два горизонтальных фрейма, но вместо второго фрейма подставляется еще один <frameset>, который повторяет уже известную вам структуру из примера 13.1. Чтобы не появилась вертикальная полоса прокрутки, и пользователь не мог самостоятельно изменить размер верхнего фрейма, добавлены атрибуты scrolling=»no» и noresize.
фреймы
- Тег <frame>
- Тег <frameset>
Разбиваем страницу на две равные колонки — CSS-LIVE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Пример для css-live.ru</title> <style type="text/css"> * { margin: 0; padding: 0; } p { padding: 10px; } #left { position: absolute; left: 0; top: 0; width: 50%; } #right { position: absolute; right: 0; top: 0; width: 50%; } </style> </head> <body> <div> <p>Левая половина</p> <p>Lorem Ipsum - это текст-"рыба", часто используемый в печати и вэб-дизайне. Lorem Ipsum является стандартной "рыбой" для текстов на латинице с начала XVI века. В то время некий безымянный печатник создал большую коллекцию размеров и форм шрифтов, используя Lorem Ipsum для распечатки образцов. Lorem Ipsum не только успешно пережил без заметных изменений пять веков, но и перешагнул в электронный дизайн. Его популяризации в новое время послужили публикация листов Letraset с образцами Lorem Ipsum в 60-х годах и, в более недавнее время, программы электронной вёрстки типа Aldus PageMaker, в шаблонах которых используется Lorem Ipsum.</p> <p>Многие думают, что Lorem Ipsum - взятый с потолка псевдо-латинский набор слов, но это не совсем так. Его корни уходят в один фрагмент классической латыни 45 года н.э., то есть более двух тысячелетий назад. Ричард МакКлинток, профессор латыни из колледжа Hampden-Sydney, штат Вирджиния, взял одно из самых странных слов в Lorem Ipsum, "consectetur", и занялся его поисками в классической латинской литературе. В результате он нашёл неоспоримый первоисточник Lorem Ipsum в разделах 1.10.32 и 1.10.33 книги "de Finibus Bonorum et Malorum" ("О пределах добра и зла"), написанной Цицероном в 45 году н.э. Этот трактат по теории этики был очень популярен в эпоху Возрождения. Первая строка Lorem Ipsum, "Lorem ipsum dolor sit amet..", происходит от одной из строк в разделе 1.10.32</p> </div> <div> <p>Правая половина</p> <p>Давно выяснено, что при оценке дизайна и композиции читаемый текст мешает сосредоточиться. Lorem Ipsum используют потому, что тот обеспечивает более или менее стандартное заполнение шаблона, а также реальное распределение букв и пробелов в абзацах, которое не получается при простой дубликации "Здесь ваш текст.. Здесь ваш текст.. Здесь ваш текст.." Многие программы электронной вёрстки и редакторы HTML используют Lorem Ipsum в качестве текста по умолчанию, так что поиск по ключевым словам "lorem ipsum" сразу показывает, как много веб-страниц всё ещё дожидаются своего настоящего рождения. За прошедшие годы текст Lorem Ipsum получил много версий. Некоторые версии появились по ошибке, некоторые - намеренно (например, юмористические варианты).</p> <p>Есть много вариантов Lorem Ipsum, но большинство из них имеет не всегда приемлемые модификации, например, юмористические вставки или слова, которые даже отдалённо не напоминают латынь. Если вам нужен Lorem Ipsum для серьёзного проекта, вы наверняка не хотите какой-нибудь шутки, скрытой в середине абзаца. Также все другие известные генераторы Lorem Ipsum используют один и тот же текст, который они просто повторяют, пока не достигнут нужный объём. Это делает предлагаемый здесь генератор единственным настоящим Lorem Ipsum генератором. Он использует словарь из более чем 200 латинских слов, а также набор моделей предложений. В результате сгенерированный Lorem Ipsum выглядит правдоподобно, не имеет повторяющихся абзацей или "невозможных" слов.</p> </div> </body> </html>
Демонстрация
P.
S. Это тоже может быть интересно:None Found
регионов страницы | Web Accessibility Initiative (WAI)
в Руководстве по структуре страницы
Обзор
Размечайте различные области веб-страниц и приложений, чтобы их можно было идентифицировать веб-браузерами и вспомогательными технологиями.
Заголовок страницы
Большинство веб-сайтов имеют область в верхней части каждой страницы, содержащую информацию для всего сайта, такую как логотип веб-сайта, функция поиска и параметры навигации. HTML5 предоставляет
, который можно использовать для определения такой области.
Примечание: Если элемент
используется внутри элементов
и
, он не связан с этими элементами. Он не получает роль баннера WAI-ARIA и не имеет особого поведения в вспомогательных технологиях.
<заголовок> … … заголовок>
Посмотреть полный пример кода для всех регионов вместе взятых.
Нижний колонтитул страницы
Как и в заголовке страницы, на большинстве веб-сайтов в нижней части каждой страницы также есть область, содержащая информацию для всего сайта, такую как информация об авторских правах, заявления о конфиденциальности или отказ от ответственности. HTML5 предоставляет элемент , который можно использовать для определения такой области.
Примечание: Если элемент используется внутри
и
элементов, он не связан с этими элементами. Он не получает роль WAI-ARIA contentinfo
и не имеет особого поведения в вспомогательных технологиях.
<нижний колонтитул> …&копировать; 2014 SpaceBears Inc.
… нижний колонтитул>
Навигация
Элемент HTML5 может использоваться для идентификации меню навигации. Веб-страница может иметь любое количество навигационных меню. Используйте метки для идентификации каждого меню навигации.
…
Учебное пособие по меню содержит более подробную информацию о создании меню.
Основной контент
Используйте элемент HTML5
для определения основной области содержимого веб-страницы или приложения.
Звездные выходные для SpaceBear 7!
… главная>
Дополнительный контент
Используйте элемент HTML5 для определения областей, которые поддерживают основной контент, но при этом являются отдельными и содержательными разделами сами по себе; Например, примечание, поясняющее или аннотирующее основное содержание.
<в сторону>Статьи по теме
… в сторону>
Области страниц в HTML5 с использованием WAI-ARIA
Большинство современных веб-браузеров поддерживают вышеуказанные элементы HTML5 и передают информацию вспомогательным технологиям через API специальных возможностей. Однако для максимальной совместимости с веб-браузерами и вспомогательными технологиями, поддерживающими WAI-ARIA, но еще не поддерживающими HTML5, в настоящее время рекомендуется использовать как элементы HTML5, так и соответствующие роли WAI-ARIA.
Примеры в HTML5… <основная роль="основная">…основная>
Ознакомьтесь с другими ресурсами WAI-ARIA:
- Обзор WAI-ARIA
- Примечания по использованию ARIA в HTML
Области страниц в HTML4 с использованием WAI-ARIA
Если HTML5 нельзя использовать или если страница HTML4 модифицирована для улучшения доступности, добавьте код WAI-ARIA в элементы div
, которые функционируют как их аналоги HTML5, например:
………
Помогите улучшить эту страницу
Пожалуйста, поделитесь своими идеями, предложениями или комментариями по электронной почте в общедоступном архивном списке wai-eo-editors@w3. org или через GitHub.
Электронная почта Fork & Edit на GitHubNew GitHub Issue
Вернуться к началуhtml - Используйте тег div, чтобы разделить страницу на 4 области
Я использую внутри тега div, 4 тега div, чтобы разделить на 4 равные области, используя следующий тег. Есть ли другой способ разделить или улучшить это деление
<дел><дел>