Посоветуйте мне не использовать <table>! - PullRequest
0 голосов
/ 16 ноября 2010

Я работаю над структурой виджетов JavaScript (с использованием HTML в качестве технологии отображения) для встраиваемого устройства, где потребление памяти является большим делом.

Недавно я попытался создать макет таблицы, используя только DIV.Но имитировать функциональность colspan и rowspan стало довольно сложно, добавив дополнительную логику, чтобы сделать все это динамичным.Результат получился довольно неплохим с точки зрения компоновки, но за счет слишком большого потребления памяти (пришлось иметь несколько объектов JS, представляющих каждую ячейку, а затем DIV в качестве презентации)

Не лучше ли было бы простоиспользовать вместо этого элемент TABLE , получая col- и rowspans и макет бесплатно?Тем более, что вся разметка создается структурой, а пользователь (структуры) фактически никогда не касается самого HTML.

Или я что-то здесь упускаю?

Ответы [ 3 ]

2 голосов
/ 16 ноября 2010

Если вы начинаете с менталитета «мне нужен макет таблицы», то неизбежно вы в конечном итоге решите, что вам нужно использовать <table>, потому что CSS не может обеспечить тонкости colspans и rowspans,Но вам нужна таблица-макет?Вы не описываете основные требования к макету, поэтому мы не можем направить вас к или от <table>, за исключением общих слов.

2 голосов
/ 16 ноября 2010

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

1 голос
/ 16 ноября 2010

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

...