Какой HTML-тег наиболее подходит для отображения в таблице или таблице? (с конкретными потребностями) - PullRequest
5 голосов
/ 06 августа 2010

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

Какой тег лучше всего использовать для этих структурированных данных?Первоначально я рассматривал ul, так как каждая строка представляет собой неупорядоченный список данных ... но затем я обнаружил некоторые трудности, превращающие их в сетку с использованием CSS.

Сейчас я смотрю на DIV (inline?) И Span.Там могут быть другие.Какой тег будет считаться отраслевым стандартным способом отображения сетки на основе CSS?

Хотя мне интересно узнать, что является наиболее подходящим с точки зрения теории DOM, в конечном итоге мне нужен чистый код, совместимый в браузерах... Это может полностью исключить тег ul.

Что думают эксперты?

Обновление

Так что, похоже, все рекомендуют использовать таблицу для (не очень) табличных данных.Единственная причина, по которой я не чувствую себя глупо задавать этот вопрос, заключается в том, что у моего поставщика сетки ASP.net возникают проблемы с динамически изменяемым размером сетки ... и допускается изменение размера столбцов на клиенте.

Поставщик заявляет, что причиной столбцов являются проблемы с изменением размера из-за таблиц.Они будут перемещены в макет на основе DIV, чтобы решить эту проблему.Вскоре я опубликую ссылочную ссылку ...

Найдите слово "Based", и вы увидите сообщение от MVP, в котором упоминаются внутренние изменения: http://stagev5.componentart.com/community/forums/t/60782.aspx

Обновление 2:

Возможно, большая не основанная на таблицах сетка также будет рендериться быстрее.

Вы могли бы сказать, что мне нужна большая масштабируемость (для большого набора строк)и возможность изменять размеры панелей.Очень похоже на то, как Outlook в настоящее время выглядит / работает:

alt text

Сводка потребностей: я ищу табличный подход, который позволяет:

  • Быстрая визуализация
  • Большие наборы данных
  • Богатое форматирование
  • Возможность изменения размера внешнего контейнера / div
  • При изменении ширины / высоты внешнего контейнера столбцысохранит свойство width или увеличится, как определено в HTML

Ответы [ 7 ]

9 голосов
/ 06 августа 2010

Если это сетка данных, это должно быть <table>.Справедливо избегать использования таблиц для разметки, но если у вас есть табличные данные, то это именно то, для чего нужны таблицы.

2 голосов
/ 06 августа 2010

Я пытаюсь построить таблицу на основе CSS ... Какой тег является наиболее подходящим

иногда <table> в порядке :),вам не нужно быть «крутым парнем» и делать все с <div>

2 голосов
/ 06 августа 2010

Если вы хотите отображать информацию в виде таблицы или таблицы, используйте элемент table.Это по причине.

1 голос
/ 06 августа 2010

Это также может вас заинтересовать: http://www.quirksmode.org/css/display.html

Прокрутите вниз до раздела display: table. Наткнулся на это на днях, этот вопрос напомнил мне об этом.

Если вы абсолютно ДОЛЖНЫ использовать CSS, попробуйте. Но, как уже говорили другие, используйте <table></table>, если это табличные данные. Если это обычный список, то вы можете сделать это с помощью ul, но это требует больше усилий, чем стоит.

РЕДАКТИРОВАТЬ: Следует отметить, что этот пример использует div s для CSS ячеек, которые будут применены.

1 голос
/ 06 августа 2010

Если ваша сетка представляет список элементов, тогда <ul> подходит.Вы можете обойти свои CSS-проблемы, отменив стиль ul / li, а затем используя дочерние элементы для определения стиля:

ul, ul li {
    padding: 0;
    margin: 0;
    display: inline;
    list-style: none;
}

ul a {
    float: left;
    background: red;

    height: 100px;
    width: 100px;
    margin: 5px;
}

Отображение выше управляется вложенными <a>, , как вы можетесмотри здесь .

1 голос
/ 06 августа 2010

Если вы намереваетесь отобразить табличные данные (т.е. они поступают из таблицы, например, из базы данных), используйте элемент <table>. Элемент <div> может быть полезен, если вы планируете выполнять большое интенсивное форматирование для каждого отдельного значения в каждой строке таблицы базы данных, но если способ представления данных в большей степени соответствует отчетности, a <table> будет вашей лучшей ставкой.

0 голосов
/ 06 августа 2010

Я бы использовал тег div, к которому вы затем могли бы добавлять дополнительные стили гораздо проще, чем неупорядоченный список.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...