Ни один объект HTML не вызывает столь пристрастных споров и обсуждений. Их любят начинающие сайтмейкеры и презирают профессионалы веб-дизайна. Что это? Наверное, вы уже догадываетесь — речь пойдет о фреймах.
Frame в переводе с английского обозначает «каркас», «костяк», «остов», «кадр», что довольно точно отображает истинный смысл этого слова в веб-дизайне. При помощи фреймов можно разбить окно обозревателя на несколько независимых подокон так, что содержимое одних окон остается постоянным при прокрутке или изменении содержимого остальных.
Техническое воплощение
Теперь немного теории, которую знатоки HTML могут с чистой совестью пропустить :-). Фреймовый документ имеет особую декларацию типа документа, а именно: . В документе с фреймами тэг
либо отсутствует, либо помещается в разделе NOFRAMES. Вместо него используется элемент FRAMESET, при помощи которого задается разбиение окна браузера на столбцы или строки, а также их размеры.
Содержимое самих фреймов определяет элемент FRAME с атрибутом SRC, задающим адрес документа, который отобразится в текущем фрейме. Атрибут NAME присваивает фрейму имя, а FRAMEBORDER определяет наличие или отсутствие разделителей.
NOFRAMES задает альтернативное содержание документа для обозревателей, не поддерживающих фреймы. Он должен располагаться в конце тела документа перед конечным тэгом и может содержать любые элементы, которые допустимы внутри элемента BODY. Несмотря на то, что этот элемент не является обязательным, советую всегда включать его во фреймовый документ, причем его содержимым как минимум должна быть гиперссылка на главный фрейм (или фреймы).
Элемент IFRAME определяет встроенный или плавающий фрейм, который не занимает фиксированного положения в окне браузера, а прокручивается вместе с остальным содержимым веб-страницы. Атрибут NAME задает имя фрейма, атрибут SRC указывает адрес HTML-документа или иного ресурса, который должен отображаться в данном фрейме.
Быть или не быть?
Краткий экскурс по документации завершен, можно переходить к вопросу, который мучает многих новичков: быть или не быть? Использовать фреймы или оказаться от них? Конечное решение принимать придется вам, но перед этим давайте рассмотрим все плюсы и минусы фреймов.
Люди, которые недавно познакомились с фреймовой технологией, приятно удивляются ее простоте и кажущейся идеальности для верстки страниц. Разочарование и горькое недоумение приходит позже, когда горе-дизайнер обнаруживает, что страницу невозможно корректно напечатать или добавить в закладки (казалось бы, что может быть проще?). Да и посетители почему-то с сайта быстро убегают, не успев просмотреть хотя бы две-три странички… Ничего удивительного. Я знаю людей, которые принципиально не посещают сайты, построенные на фреймах, вне зависимости от ценности контента, который там находится. Видимо, не хотят оскорблять свое чувство прекрасного, или же просто страдают фреймовой аллергией :-).
Но мы-то с вами знаем, что фреймы просто чудесно подходят для верстки страниц, не так ли?
Бочка меда
Сторонники фреймов сейчас захлопают в ладоши, а противники заткнут уши и закроют глаза :-). Ведь я во всеуслышание заявлю, что фреймы предоставляют уникальную возможность — легкое размещение информации точно в нужном месте окна браузера. Скажем, можно поместить фрейм внизу браузера, и независимо от прокручивания содержимого эта область не изменит своего положения. Также фреймы позволяют довольно быстро и просто сверстать страницу с разделением на навигационное меню и основную часть. Грамотно использованная фреймовая структура позволяет увеличить скорость загрузки страницы, так как меню не нужно будет каждый раз подгружать с сервера, соответственно, объем страницы будет меньшим. Далее, с помощью фреймов удобно объединять текстовые HTML-документы с JAVA-аплетами. С помощью языка JavaScript можно осуществить одновременную загрузку двух и более страниц во фреймы. Даже размер фреймов легко меняется пользователем (если иное не предусмотрено «заботливым» дизайнером), чего не позволяет сделать традиционная верстка HTML.
Но и это еще не все. Без фреймов никак не обойдется такая важная деталь сайта как чат. Удобно их использовать и в картах изображений: например, сама карта отображается в одном фрейме, а в другом пользователь видит документы, полученные при активизации ее областей. Простор для дизайнерской фантазии практически не ограничен: можно использовать фреймы при создании частного портфолио, небольшого интернет-магазина, фотогаллереи, etc. Полная творческая идиллия.
Ложка дегтя… и не одна
Но не все так хорошо и красиво. Недостатков у фреймов едва ли меньше, чем достоинств. Возможно, если вы будете знать все минусы этой технологии, то будете более сдержанно относиться к тэгу