HTML 検証エラーに関するヘルプ:テーブル列の先頭にセルがありません
-
21-09-2019 - |
質問
手伝ってください これ 検証エラー。それが何を意味するのか、または私の HTML の何が標準に準拠していないのか理解できません。
修正してリンクが機能しなくなることを願っているので、ここに再投稿します。
要素 td によって確立されたテーブル列 2 には、その先頭にセルがありません。
…="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"
を言うとき、、列が2列にわたってストレッチになっています。私の推測はできる、これ作るcolspan="2"
のどこにも定義された第二のカラムが存在しないということでしょう不可能(および不要)。
私は何かを見つけることができませんスペックのの を明示的にそれは違法だと言って。 )
:たぶん、そのスペックに引用された表計算アルゴリズムは遅すぎる私の時間帯で試してみていることを回避することの道4.01異なっているが、しかし、私はエラーメッセージがあからさまなバグであるには余りにも完璧な理にかなって見つけます。
要素のTDによって確立されたテーブルの列2は、それから始めない細胞を有していない。
colspan="2"
を使用することで、その場合には存在しない第二の列の存在を暗示します。常識は、約ガミガミする正しい私に語っています。
たぶん、誰かがこの上でいくつかの光を当てることができます...またはそれは、確かに、バグです。
私はそれはバグ、まだ未確定であると信じています。 この例ページを検討し、W3Cのバリデータを介して実行。 「素子TDによって確立されたテーブルの列3はそれから始めない細胞を持っていない」、しかも各テーブルが4細胞/列を有し、2の「COLSPANを」第二のセル上で呼び出されたのは、エラーを与えます。
HTML5 バリデーターに問題があるようです。HTML 4.01 Transitional を使用していることを検証し、テーブル html が html5 でそれほど変更されていない場合、このエラーは発生しません。
報告するのはおそらく良い考えです
私は、動的に作成されたテーブルの上に同じエラーが発生しました。入力に応じて、いくつかの行が表示されたりされませんでした。このように:
はエラーを引き起こしません
<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は、彼らが上でまっすぐに続くものと信じて、右のいずれかの接合部を持っていない通りをオンにするために私を訪問し、誰かに伝えるようなものです。彼らはしません。代わりに、彼らはそこではない何かを探してハングアップを取得します。そうでないかもしれない完全に正確な類推が、あなたはそれがあるのではなく、伝えることのものを探している間、表示エラーを作成ダムブラウザを想像することができます。ブラウザは、多分あなたは、あなたがそれを書いた方法とは異なるコードを意味することを「考える」に期待するべきではありません。
だけ固定用のリンクAlohciの答えです。
https://w3c.github.io/html/single-page.html#forming-a-table
- が存在する場合は列のテーブルだけを含むスロットしていない細胞を固定し、そのことができるテーブルモデルのエラーになります。
このスレッドは少し古いですが、私はそれにぶつかっ誰のためにこれを投稿します。
タグを使用して、各列の定義は、メッセージを削除しても関連するCOLSPAN何かを与えます。
ここでの回答でさらに詳しい情報:予想通り COLSPANは適用されないのはなぜ
- それは検証列エラーを修正します。 あなたのテーブルが8列を持っている場合、最初の行は、あなただけ開始されているかどうかを確認したくない、8つの要素を持っている必要があります。 CSSの要素は次のとおりです。 tr.Init {ボーダー:なし;} 8列のテーブルの次の最初の行。 結果は - 。あなたが最初の行が表示されていないと、あなたの検証エラーが固定されている。