Ксдыщь!

Дилетантские заметки про XSLT/XPath, HTML/CSS и всякую фигню

Записи в разделе 'холивор'

Div vs. Table

16 марта 2006 · Свалка

Кажется, уже любое упоминание слов div и table в одном предложении вызывает позывы к тошноте у всех кодеров. А я все равно скажу, как раз время послеобеденное.

Я использую таблицы для тех вещей, когда можно обойтись без них. Примерно в следующих неоправдываемых случаях:

  • Короткие сроки
  • Мало денег
  • Слишком лень

Если я слышу срок сдачи “вчера”, в моем мозгу переключается рубильник. Разумеется, я все равно сделаю картинку с подписью definition list’ом, а не таблицей. Но только потому, что мне так просто удобней. А вот разложить колонки в сложном макете таблицей — не буду испытывать никаких угрызений совести. Даже покажу кому-нибудь, потому как не стыдно ни разу.

Очень много разговоров о том, что таблицы плохо смотрятся без стилей. Да, я помню про vertical-align и иже с ними. И что? Div’ы позволяют сохранить look&feel с отключенными стилями? Наладонники-шмаладонники, печать страниц.. Брр. Все равно, если есть необходимость — мы пишем стили для печати и handheld’ов. К чему фанатизм?

Размер кода. Шмаразмер, блин. Таблица с четырьмя ячейками займет места не больше, чем три extra-wrapper’а. При этом работать с таким кодом будет легче. Впрочем, последний тезис — лишь мое скромное мнение.

О! Шаманство. Знаете, я не любитель бубнов. Конечно приятно написать fix для седьмой Оперы типа такого:

#id ul li {
    display:table-cell;
    display:inline-block;
    }
    * HTML #id ul li {display:inline;}

Но это быстро надоедает. Когда поддержка CSS в IE достигнет уровня последнего Огнелиса, а старые Оперы и Нетшкафы перестануть фигурировать в browser list’ах — я буду счастлив, а до тех пор я не стесняюсь таблиц.

Пусть заголовки будут заголовками, списки списками, а колонки колонками. Мне не интересны faux columns и жонглирования margin/padding’ами. Я хочу логики, стабильности и простоты. В таких случаях я делаю и пока буду делать таблицу. Хоть режьте, хоть не режьте.

P.S. И даже не говорите мне о поисковой оптимизации, лучше не надо.