Верстку делят обычно на табличную, блочную и смешанную.
Блочная верстка - построена на использовании так называемой блочной модели, согласно которой практически любой тег может быть рассмотрен как блок
(не путать со слоем — DIV'ом)
При блочной верстке широко применяются DIV'ы, за что в кругах разработчиков такой тип верстки часто называют DIVным и, собственно, именно поэтому многие путают понятие блока и слоя.
Слой (тег < DIV >) — более узкое понятие чем блок — лишь один из вариантов блока.
Тег < SPAN > — часто его называют «свободным тегом» или маркером — является дополнительным контейнером, отчасти аналогичным тегу < DIV > и так же не имеет своих собственных встроенных характеристик форматирования. Он не создает ни разрыва строки, ни пробела.
Чаще всего < SPAN >применяется в тесной связке с CSS, например, для выделения текста или его части и применения к выделенному определенного стиля.
В табличной верстке для определения места размещения элементов страницы (будь то заголовок, текст, изображение или любая другая информация)
применяются таблицы и их ячейки (чаще всего с невидимыми границами). В блочной верстке эту роль, как правило, выполняют слои или другие теги, определенные в CSS данной страницы как блоки.
При табличной верстке широко применяется вложенность таблиц (размещение таблиц внутри ячеек
другой таблицы) - таким образом разработчики пытались добиться более точного позиционирования элементов страницы относительно друг друга.
В блочной верстке, по тем же соображениям, применяется вложенность блоков.
Основное преимущество блочной верстки перед табличной - это гибкость. Возможность изменять внешний вид страниц без изменения самого кода страницы. Только за счет правки стилей.
Скажем, изначально размещенный на сайте слева, блок меню гораздо проще разместить при редизайне справа, если сайт сверстан на основе блочной модели - достаточно заменить пару параметров в CSS-стиле блока меню, не затрагивая при этом HTML-кода страницы.
При «чисто табличной» верстке вам, скорее всего, пришлось бы править не только CSS, если вы его вообще применяли, но и сам HTML-код, физически перемещая меню из одной ячейки таблицы в другую.
Другим важным преимуществом блочной верстки на слоях является скорость загрузки.
Слои отображаются в браузере «в реальном времени» - по мере загрузки HTML и CSS-кода страницы.
В то время как таблица не будет отображена в браузере пользователя до тех пор, пока не загрузится последний закрывающий ее тег < /TABLE >.
А на страницах со сложной структурой и большим количеством вложенных таблиц (да и просто большим количеством контента) вызванная таким образом задержка может быть существенной. Слои же отображаются практически моментально, а уже по мере подгрузки стилей занимают необходимые места и приобретают определенный для них в CSS вид.