Справка с ошибкой проверки HTML: столбец столбца не имеет в нем ячеек

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

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

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

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

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

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

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

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

Я не могу найти ничего в спецификации, явно заявляя, что это незаконно. Возможно, алгоритм вычисления таблицы, цитируемый в этой спецификации, отличается от 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

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

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

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

 
cell 1 in row 1 cell 2 in row 1
one cell in row 2

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

 
cell 1 in row 1 cell 2 in row 1

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

 
one cell in what is now the only row

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

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

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

Просто исправьте ссылку на ответ Алоччи.

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

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

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

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

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

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