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

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

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

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

…="tooltip_table">20 yd range

18
задан Thomas Bonini 18 February 2010 в 23:13
поделиться

4 ответа

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

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

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

12
ответ дан 30 November 2019 в 07:38
поделиться

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

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

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

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

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

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

16
ответ дан 30 November 2019 в 07:38
поделиться

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

http://validator.w3.org/check?uri=http://www.wowpanda.net/s9712&charset= (обнаруживать + автоматически) & doctype = HTML + 4.01 + Transitional & ss = 1 & outline = 1 & group = 0 & verbose = 1 & user- agent = W3C_Validator / 1.654

Пожалуй, хорошая идея - сообщить об этом

1
ответ дан 30 November 2019 в 07:38
поделиться

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

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

<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
ответ дан 30 November 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: