Веб-дизайн

         

Заметки о полях


 Упомянутые только что поля — это не поля, которые устанавливает вокруг содержимого страницы дизайнер, а те небольшие про­светы вдоль левой и верхней границ окна, которые оставляет сам броузер. Пользователь не может ни поместить что-либо в эту мертвую зону, ни повлиять на размеры полей средствами стандартного HTML. Еще хуже то, что величина этих полей непостоянна — она зависит от марки и версии броузера и от установленного в данный момент базового кегля шриф­та (стр. 216). Из-за этого возникают трудности с точным совмещением фонового изображения (стр. 259) и материала переднего плана — ведь броузер настилает фоновую картинку по всему пространству окна вплоть до рамки, вне зависимости от того, насколько отодвинуты от этой рамки текст и изображения переднего плана.

Оговорка относительно «стандартного HTML» не случайна — очевидно, поля эти были введены именно для того, чтобы размеченные в минима­листском, академическом (стр. 150) стиле тексты можно было читать, не стукаясь взглядом о вплотную прижатую к тексту рамку окна. Предоста­вляя со временем все больше оформительской свободы автору страницы, броузеры не могли обойти своим вниманием и этот аспект. Так, MSIE поддерживает атрибуты leftmargin и topmargin тега BODY, позволяющие

195

станавливать любую (в том числе нулевую и отрицательную) величину полей страницы. Однако и стандарт HTML 4.0, и броузер Netscape игно­рируют эти «MSIE-only» атрибуты.

Более идеологически правильный, хотя и выходящий за рамки HTML под­ход — использование CSS-свойств (стр. 40) margin-left и margin-top для тега BODY. К сожалению, упоминавшаяся уже незрелость реализаций CSS (стр. 23) не позволяет воспользоваться даже таким невинным трюком: дело в том, что если MSIE отмеряет поле от рамки окна, то NC принимает за отправную точку то «поле по умолчанию», которое имеет место в отсут­ствие CSS. Поэтому, чтобы прижать содержимое страницы вплотную к ле­вой рамке окна, в MSIE достаточно сказать <BODY style="margin-left: 0рх">, тогда как в NC вместо 0рх придется подбирать некую отрицатель­ную величину (около -7рх).

Желание обойтись без CSS заставляет некоторых дизайнеров прибе­гать к еще более замысловатому трюку. Пользуясь тем, что у тега FRAME есть поддерживаемые обоими броузерами атрибуты marginwidth и marginheight, они заключают всю страницу в единственный фрейм с тем, чтобы иметь возможность точно устанавливать величину полей.



Содержание раздела