Справка по ошибке проверки HTML: столбец таблицы не имеет ячеек, начинающихся в нем

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

Я перепечатаю его здесь, так как, надеюсь, я исправлю его, и эта ссылка больше не будет работать:

столбец таблицы 2, установленный элементом td, не имеет ячеек, начинающихся в нем.

…="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2"
                                     ↑

8 ответов


HTML 5.2 Черновик: раздел 4.9.12.1 формирование таблицы

http://w3c.github.io/html/tabular-data.html#forming-a-table

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


когда вы говорите colspan="2", столбец должен растягиваться через два столбца. Я предполагаю, что нет второго столбца, определенного где-либо еще в состоянии, таким образом, делая colspan="2" невозможно (и ненужно).

Я ничего не могу найти в spec явно говорит, что это незаконно. Возможно, алгоритм вычисления таблицы, указанный в этой спецификации, отличается от 4.01, но в моем часовом поясе слишком поздно пытаться обойти это :)

однако я считаю, что сообщение об ошибке имеет слишком совершенный смысл, чтобы быть прямой ошибкой.

столбец таблицы 2, установленный элементом td, не имеет ячеек, начинающихся в нем.

С помощью colspan="2", вы подразумеваете существование второго столбца, которого в этом случае не существует. Здравый смысл подсказывает мне, что правильно придираться.

возможно, кто-то может пролить свет на это... Или это действительно Жук.


Я считаю, что это ошибка, и все еще не исправлена. Считать этой странице и запустите его через валидатор W3C. Он дает ошибки для " столбца таблицы 3, установленного элементом td, не имеет ячеек, начинающихся в нем.", и все же каждая таблица имеет 4 ячейки/столбца, а "colspan" 2 вызывается на второй ячейке.


похоже на проблему с валидатором HTML5. Эта ошибка не возникает, если вы проверяете с помощью HTML 4.01 Transitional, и таблица html не была сильно изменена в html5.

http://validator.w3.org/check?uri=http://www.wowpanda.net/s9712&charset=(detect+automatically)&doctype=HTML+4.01+Transitional&ss=1&outline=1&group=0&verbose=1&user-agent=W3C_Validator/1.654

сообщить, что это, вероятно, хорошая идея


у меня была такая же ошибка в динамически созданной таблице. В зависимости от ввода некоторые строки отображаются или нет. Вот так:

вызывает ошибку:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
<tr>
<td colspan=2> one cell in row 2 </td>
</tr>
</table>

вызывает ошибку:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
</table>

вызывает ошибку:

<table>
<tr>
<td colspan=2> one cell in what is now the only row </td>
</tr>
</table>

как только я запрограммировал страницу на удаление colspan из последнего примера, когда первая строка не отображалась, ошибка исчезла. Что-то вроде этого:--5-->

<?php if (first row with two cells is displayed) echo 'colspan=2'; ?>

Я нахожу это логичным. атрибуты colspan=2 с только одиночные камеры-это все равно, что сказать кому-то, кто пришел ко мне, повернуть направо на улицу, где нет перекрестков, полагая, что они будут двигаться прямо. Не будут. Вместо этого они будут зацикливаться на поиске чего-то, чего нет. Может быть, не совсем точная аналогия, но вы можете представить себе тупой браузер, создающий ошибки отображения, ища вещи, которые вы говорите, что они есть, но нет. Браузеры не должны "думать" , что, возможно, вы имели в виду свой код иначе, чем как ты это написал.


просто фиксируя ссылку для ответа Alohci.

https://w3c.github.io/html/single-page.html#forming-a-table

  1. если в таблице есть строка или столбец, содержащие только слоты, к которым не привязана ячейка, то это ошибка модели таблицы.

эта тема немного старая, но я публикую это для тех, кто сталкивается с ней.

определение каждого столбца с помощью тега удаляет сообщение, а также дает colspan что-то для связи.

дополнительная информация в ответе здесь:почему colspan не применяется, как ожидалось


Если вы инициируете таблицу-она исправляет ошибки столбца проверки. Если ваша таблица имеет 8 столбцов, то первая строка должна иметь 8 элементов, которые, если вы только инициируете, вы не хотите видеть. Элемент css: тр.Init{граница: нет;} и первые строки 8 таблицы. В результате вы не видите первую строку, и ваши ошибки проверки исправлены.