


При создании страниц с фреймами и расчетом на то, что они будут просматриваться и NN, следует учитывать следующие моменты:
1. Ширина и высота фреймов в NN - величина непостоянная. При изменении размера окна браузера она может варьироваться для каждого фрейма в пределах 10px. Если заданная ширина/высота (x) не кратна 10, изменения будут происходить в пределах двух ближайших кратных 10 величин, меньшей и большей. Если заданная ширина/высота (x) кратна 10, то она будет изменяться от x-10 до x.
2. Оптимальные размеры (при к-рых страница со сложной фреймовой структурой выглядит наилучшим образом) для IE и NN могут сильно различаться. Различие может варьироваться в пределах ~20px
3. При расположении в строке/столбце больше двух фреймов ошибка позиционирования любого из средних фреймов может достигать значительной величины. Особенно это касается frameset`ов с относительными величинами размеров.
Поэтому рекомендуется располагать внутри одного frameset`а не более 2х фреймов, т.е., к примеру, конструкцию
<frameset cols="10,120,*" border=0>
<frame src="url1.html" ...>
<frame src="url2.html" ...>
<frame src="url3.html" ...>
</frameset>
следует заменить конструкцией
<frameset cols="10,*" border=0>
<frame src="url1.html" ...>
<frameset cols="120,*" border=0>
<frame src="url2.html" ...>
<frame src="url3.html" ...>
</frameset>
</frameset>
4. В Нетскейпе невозможно четко центрировать фреймы. Пример:
<frameset rows="120,*" border=0>
<frameset cols="*,120,*" border=0>
<frame src=body2.html marginwidth=1 marginheight=1 frameborder=0>
<frame src=body3.html marginwidth=1 marginheight=1 frameborder=0>
<frame src=body2.html marginwidth=1 marginheight=1 frameborder=0>
</frameset>
<frameset cols="*,80,*" border=0>
<frame src=body.html marginwidth=1 marginheight=1 frameborder=0>
<frame src=body2.html marginwidth=1 marginheight=1 frameborder=0>
<frame src=body.html marginwidth=1 marginheight=1 frameborder=0>
</frameset>
</frameset>
В NN может выглядеть и так, как показано на рис.:
Помимо того, что центральные фреймы располагаются не по центру окна браузера, четко видно, что
а) горизонтальные размеры центральных фреймов не равны 120 и 80
б) не смотря на заданное одинаковое позиционирование для ф. 120 и 80, их центры т.ж. не совпадают.
5. При ширине/высоте фрейма менее 10px, в NN этот фрейм может иметь минимальную ширину/высоту в 1px, максимальную - более 10px.
Пример:
<frameset cols="3,120,*" border=0>
<frame src=body.html" marginwidth=1 marginheight=1 frameborder=0>
<frame src=body3.html marginwidth=1 marginheight=1 frameborder=0>
<frame src=body2.html marginwidth=1 marginheight=1 frameborder=0>
</frameset>
иногда выглядит так (фрейм, к-рый должен быть шириной в 3px, на самом деле шириной в 11px):
То же самое относится и к фреймам шириной/высотой в 0px. Они все равно будут отображаться и иметь размеры от 1 до 10 и более pix. Поэтому при использовании таких фреймов для динамической подгрузки графики или каких-либо данных, их целесообразно замаскировать так, чтобы они сливались с расположенными рядом.
Таким образом если страница должна иметь сложную фреймовую стркутуру, мы рекомендуем делать два варианта: для IE, используя теги <iframe>, и для NN таким образом, чтобы дизайн страницы не был критичен к изменениям размеров фреймов в пределах 10px, а т.ж. учитывая п.3.
Но лучше, по нашему скромному мнению, фреймы вообще не использовать :)
|