我有这个html表:
<fieldset class="form login">
<legend>Authorization</legend>
<table>
<tbody>
<tr>
<td colspan="1">
<label class="form__label" for="login">Login</label>
</td>
<td colspan="3">
<input id="login" type="email" required="required">
</td>
</tr>
<tr>
<td colspan="1">
<label class="form__label" for="password">Password</label>
</td>
<td colspan="3">
<input id="password" type="password" required="required">
</td>
</tr>
<tr>
<td class="text-center" colspan="4"><input type="submit"></td>
</tr>
</tbody>
</table>
</fieldset>
通过验证器(validator.w3.org)运行它时,出现错误:
Error: Table columns in range 3…4 established by element td have no cells beginning in them.
From line 21, column 16; to line 22, column 26
</td>↩ <td colspan="3">↩
是什么意思?
我找到了这个答案:
Help with HTML validation error: Table column has no cells beginning in it
但仍然不明白我必须做些什么才能使其有效?
答案 0 :(得分:1)
您的表有三行:
Row 1:
Row 2:
Row 3:
在第1行和第2行中,第1列中有一个单元格,而第2列至第4列中有一个单元格
在第3行中,您有一个单元格跨越第1至4列
Row 1: | cell 1,1 | cell 1,2-4 |
Row 2: | cell 1,1 | cell 1,2-4 |
Row 3: | cell 1,1-4 |
验证器查看此表并抱怨说,尽管标记表明实际上有4列,但只有2列。
因此解决方案是将第1行和第2行中的colspan="3"
替换为colspan="1"
(或将其全部删除,因为colspan="1"
毫无意义),并在第3行中替换{{1} }和colspan="4"
。这样,标记就可以与表格的实际内容保持一致。