• Div or tables ?

    Mithgol
    @Mithgol
    Пока в большинстве браузеров не реализован CSS3 Flexible Box Layout Module, вёрстка элементами <div> должна уступать место табличной вёрстке всякий раз, когда возникнет необходимость создать двумерную структуру, подобную классической таблице, то есть содержащую ряд столбцов и строк с ячейками равной ширины и высоты, особенно если ячейки эти должны переменять ширину и высоту по мере необходимости (то есть после появления в них длинного слова, высокого текста, широкой или высокой иллюстрации) — и тотчас, в равной степени, должны переменять высоту всех своих соседей по строке да ширину всех своих соседей по столбцу.

    Элементы <div> способны противостоять увеличению своих размеров (например, уменьшать попавшую внутрь их иллюстрацию, если она превосходит некоторый предел, или создавать полосы прокрутки для содержимого, выходящего за пределы элемента), элементы <div> способны составлять собою сложные двумерные структуры нетабличного вида, иногда более полезные и красивые, чем таблицы (например, последовательность строчных блоков с CSS-свойством «display: inline-block», способная переменять размеры блока, не затрагивая размеры соседних строк, и переставлять блоки со строки на строку; или, например, результат работы jQuery-плагина Masonry, встык заполняющего прямоугольными блоками некоторое двумерное пространство), но настоящую таблицу элементы <div> пока что заменить не способны.

    Рано или поздно в большинстве браузеров будет реализован CSS3 Flexible Box Layout Module, и тогда появится возможность укладывать элементы <div> в такую структуру, которая во всём подобна таблице, а кое в чём и превосходит её. Но до тех пор таблицы рано сбрасывать со счетов.
    Ответ написан
    2 комментария