Допустимый HTML и количество элементов TD - PullRequest
2 голосов
/ 14 июля 2009

У меня есть HTML-таблица с несколькими столбцами и несколькими строками. В последней строке не всегда столько элементов TD, сколько в других строках. Он корректно отображается в нескольких браузерах, которые я проверял, и проходит проверку на корректность. Но это кажется неверным. Должно ли количество элементов TD быть одинаковым в каждой строке?

РЕДАКТИРОВАТЬ: Это может произойти с или без colspans и spans.

Ответы [ 4 ]

7 голосов
/ 14 июля 2009

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

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

& hellip; но, честно говоря, очень редко такая структура данных имела бы какой-либо смысл. Так что если у вас непоследовательные длины строк, вы, вероятно, делаете что-то не так.

6 голосов
/ 14 июля 2009

«Должно ли количество элементов TD быть одинаковым в каждой строке?»

Хотя это не является строго обязательным, я говорю «да, или вы должны иметь colspans для их компенсации».

<table>
    <tr>
        <td>two</td>
        <td>columns</td>
    </tr>
    <tr>
        <td colspan="2">one big column</td>
    </tr>
</table>

Мое предположение, несмотря на то, что это не требуется спецификацией W3C, заключается в том, что при рассмотрении того, как нестабильные браузеры относятся к тому, как они поддерживают что-либо, я бы сделал это максимально последовательным, используя colspans или пустые ячейки чтобы убедиться, что он делает именно то, что я хочу во всех браузерах.

Второстепенное преимущество - для тех, кто поддерживает ваш код. Делает более очевидным, что подразумевается, а не воспринимается как возможная ошибка.

3 голосов
/ 14 июля 2009

В стандартах HTML не требуется, чтобы количество столбцов, определяемых каждой строкой, совпадало. Можно сказать, что вы «должны» предоставить одинаковое количество столбцов с точки зрения морали или передового опыта, и я бы это поддержал, но это не требуется стандартом, поэтому он проверяет.

0 голосов
/ 15 июля 2009

Просто идея: попытайтесь создать свою таблицу с элементом ;-) При отображении таблиц есть некоторые проблемы.

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