2

複数の列と複数の行を持つ HTML テーブルがあります。最後の行には、常に他の行と同じ数の TD 要素があるとは限りません。私がチェックしたいくつかのブラウザーで正しくレンダリングされ、検証チェックに合格します。しかし、それは間違っているようです。TD 要素の数はすべての行で同じにする必要がありますか?

編集: これは、colspans と rowspans の有無にかかわらず発生する可能性があります。

4

4 に答える 4

7

仕様では、行間の列数の不一致が明示的に許可されています(少なくともマークアップでは、ブラウザーは違いを補うために余分な列を生成することが期待されています)。

列の数は、複数の列にまたがるセルを含め、列が最も多い行に必要な列の数と同じです。この列数よりも少ない行の場合、その行の最後に空のセルを埋め込む必要があります。

…しかし、率直に言って、そのようなデータ構造がまったく意味を成すことは非常にまれです。したがって、行の長さに一貫性がない場合は、おそらく何か間違ったことをしている可能性があります。

于 2009-07-14T14:47:38.297 に答える
6

「すべての行で TD 要素の数を同じにする必要がありますか?」

厳密には必須ではありませんが、「はい、またはそれらを補うために colspans を使用する必要があります」と言います。

<table>
    <tr>
        <td>two</td>
        <td>columns</td>
    </tr>
    <tr>
        <td colspan="2">one big column</td>
    </tr>
</table>

これについての私の見解は、W3C 仕様で要求されていないにもかかわらず、ブラウザーが何かをサポートする方法についてむらがあることを考えると、colspans または空のセルを使用して、可能な限り一貫性を保つことです。すべてのブラウザで私が望んでいることを正確に実行していること。

2 つ目の利点は、コードを保守するすべての人にとってです。エラーの可能性として認識されるのではなく、意図されていることをより明確にします。

于 2009-07-14T14:43:39.333 に答える
3

各行によって定義された列の数が一致するという HTML 標準の要件はありません。道徳的またはベストプラクティスの観点から、均一な数の列を「提供する必要がある」と言えます。私はそれをサポートしますが、標準では必須ではないため、検証しています。

于 2009-07-14T14:47:57.890 に答える
0

アイデア: 要素を使用してテーブルを作成してみてください ;-) テーブルのレンダリングにはいくつかの問題があります。

于 2009-07-14T21:10:57.863 に答える