Поскольку это не 1994 год, лучший способ - не использовать фреймы. Шутки в сторону иногда кадры могут быть полезны, но их следует избегать, если это возможно. Причины этого:
- Вы создаете совершенно новый объект окна. Если вам не нужен новый объект окна, вы теряете память.
- Некоторые поисковые системы не использовали URL-адреса в фреймах. Возможно, это не так для адресатов в том же домене, но все равно может изменить порядок ранжирования ваших страниц, и если вы не знаете, что делаете, вы не должны использовать фреймы для сайтов, которые вы хотите проиндексировать.
Если вам нужно использовать фреймы, вам нужно будет использовать отдельный файл html для каждого фрейма, или вы можете использовать iframe. Но iframe все еще приходит с вышеупомянутыми оговорками.
Вы также можете динамически загружать div или td с помощью JavaScript (jQuery, prototype, mootools и т. Д.) Может помочь), но с точки зрения SEO, которая даже хуже, чем фреймы, и должна быть зарезервирована для приложений, требующих входа в систему, даже тогда они перестанут работать.
Ближайшей вещью к набору фреймов с точки зрения позиционирования является таблица. Вы можете оставить одну ширину столбца неуказанной и установить ширину таблицы до 100%, и этот столбец займет максимальное пространство, доступное, например, в наборах «*» в атрибуте rows. Однако высота таблицы не может быть установлена на 100% окна без javascript, поэтому вы не можете сделать то же самое для высоты и строк. Здесь абсолютное позиционирование поможет больше, чем таблица.Например,
<div style="position: absolute; top: 0px; bottom: 0px; width: 100%">
<div style="height: 200px; width: 100%; background: red;">Fixed Row</div>
<div style="position: absolute; top: 200px; bottom: 0px; width: 100%; background: blue">Fluid Row</div>
</div>
Будет вести себя как строки кадров, если они являются корневым элементом. Чтобы работать внутри другого элемента, элемент должен иметь ширину, высоту и положение: относительный.
Установка фиксированной высоты и переполнения: прокрутка в стиле любого элемента, например, td или div, в предыдущих примерах даст ему полосы прокрутки, такие как кадр. Затем вы можете иметь все данные на одной странице или включать iframe со 100% шириной и высотой для контента на другом URL-адресе, хотя, как я упоминал, такие же оговорки применяются, как и к набору фреймов.