Проще и нужно! таблицами (в данном случае), т.к. в CSS3 есть псевдоклассы для добавления стилей к элементам на основе нумерации в дереве элементов. Вот мой пример
1. CSS - Сброс параметров по-дефолту.
2. Последовательный вывод списком всех базовых типов (h1,h2 и т.д.)
и нужных блоков с настройкой верстки на каждый новый тип/объект/блок.
Проверка вложенности и прочие "грабли". Запуск в разных браузерах.
3. Верстка сеток страниц с подготовленными стилями (в п.2)
4. Профит! (js - добавляю после, если необходим...)
„Что тут дивного? ну, вот!
Белка камушки грызет,
Мечет золото и в груды
Загребает изумруды;
Этим нас не удивишь,
Правду ль, нет ли говоришь.
В свете есть иное диво: Free jQuery grid layout Plugins & jQuery Layout Plugins
Это диво, так уж диво,
Можно молвить справедливо!