Помогите с ошибкой проверки HTML: в столбце таблицы нет ячеек, начинающихся в нем - PullRequest
17 голосов
/ 19 февраля 2010

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

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

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

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

Ответы [ 8 ]

16 голосов
/ 19 февраля 2010

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

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

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

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

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

Может быть, кто-то может пролить свет на это ... Или это действительно ошибка.

12 голосов
/ 19 февраля 2010

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

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

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

2 голосов
/ 22 апреля 2011

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

1 голос
/ 15 сентября 2016

Просто исправляю ссылку для ответа Алохчи.

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

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

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

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

<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 из последнего примера, когда первая строка не отображалась, ошибка исчезла. Примерно так:

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

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

1 голос
/ 19 февраля 2010

Похоже, проблема с валидатором 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

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

0 голосов
/ 02 февраля 2014

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

0 голосов
/ 13 февраля 2012

Эта ветка немного устарела, но я выкладываю ее всем, кто в нее врезался.

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

Подробнее в ответе здесь: Почему colspan не применяется должным образом

...