При создании страниц с фреймами и расчетом на то, что они будут просматриваться и 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.

Но лучше, по нашему скромному мнению, фреймы вообще не использовать :)



Проекты на web deVision



То, что кажется нам интересным. А вам?

документация по PHP4
список функций

обратная связь

  Яндекс цитирования