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

StackOverflow https://stackoverflow.com/questions/2292947

Вопрос

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

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

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

…="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2"
                                     ↑
Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

Похоже, проблема с валидатором HTML5.Эта ошибка не появляется, если вы проверяете is с помощью 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 из последнего примера, когда первая строка не отображалась, ошибка исчезла.Что- то вроде этого:

<?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{граница: отсутствует;} и следующая первая строка таблицы из 8 столбцов.Результат таков - вы не видите первую строку, и ваши ошибки проверки исправлены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top