Заметки о вёрстке сайтов  ·  Александр Шуркаев об HTML, CSS и JavaScript (скрипты, справочники и примеры по сайтостроению)
Путь: Заметки о вёрстке сайтов  >  HTML  >  17

Способы задания отступов

13 сентября 2002 г.

В этой заметке я хотел бы обобщить различные способы задания промежутков между элементами HTML-страницы. Оставляю на ваше усмотрение использование того или иного метода.

В стандартном HTML практически нет возможности задать отступ (HTML отступ) от одного элемента до другого (разве что для тега img можно указать vspace и hspace). Поэтому исторически для этих целей используют прозрачную GIF'овую распорку (прозрачный GIF файл с установленными width и/или height):

<img src="spacer.gif" height="10" width="10" alt="" />

С появлением CSS стало возможным производить тонкий «тьюнинг» отступов (свойство margin):

<p style="margin-bottom:10px">Lingua latina non penis canina est.</p>

Но иногда, правда, бывает быстрее и удобнее сделать отступ, используя всяческие HTML выкрутасы.

Итак, господа-товарищи, в этой заметке я хотел бы обобщить различные способы задания промежутков между элементами HTML-страницы. Оставляю на ваше усмотрение использование того или иного метода для HTML отступа. Поехали!

Способ Браузерная совместимость
<table width="10" height="10" sellpadding="0" cellspacing="0" border="0"><tr><td></td></tr></table> Все браузеры, начиная с «тройки»
<spacer type="block" width="10" height="10" /> NN3.x-6.x
<div style="width:10px; height:10px"></div> IE4+, NN6+, Opera4+

Конечно, как сторонник стандартов, я бы всё же советовал ограничиться CSS свойством margin и/или DIV'ами с CSS параметрами width и height. Но опять же, повторяю, иногда не грех применять и другие методы, если вы уверены в том, что посетители сайта увидят всё именно так, как оно и должно быть. Amen.

P. S. Товарищ horuz советует таким образом создавать отступы:

<img src="img/spacer.gif" width=1 height=1 vspace=0 hspace=0 border=0 style=1;visibility:hidden>

Комментарии:

spacer.gif — это, понятное дело, однопиксельный прозрачный гиф. Указание ширины и высоты в НОЛЬ не во всех браузерах корректно работает (примеры уже не помню, но в конце концов это просто не логично).
По моим наблюдениям, при работе браузеров с выключенными картинками ширина и высота могут некорректно работать у распорки, отсюда самым лучшим способом остается задавать ширину и высоту vspace и hspace (если нужно четное значение, то отнимаете 2, делите на 2 и вписываете в hspace(vspace), а к width=2(height=2); если надо нечетное, тогда отнимаете 1, также вписываете в hspace(vspace)width=1(height=1) соответственно).
border=0 — также для переопределения любых настроек браузера.

Ну и самое главное ;)
style=1;visibility:hidden — если писать просто style=visibility:hidden, то в NN4 эти распорки физически исчезают и ничего не остается, а при добавлении ошибки в код стиля NN4 просто игнорирует этот код. В IE5+, Opera5+, NN6+ всё работает отлично, а для более старых браузеров срабатывает перестраховка с hspace(vspace), видны только точечки…

Хитовые статьи про разработку сайтов

Рассылка новостей и новых статей

Сообщения будут приходить пару раз в неделю, не чаще

Объявления

LiveInternet