結局はテーブルに戻る?

HTML5のタグのお話です。
ちょっと前にも書きましたが、「表ではない」ものにtableを使わないように調整しているわけです。
しかし「表ではない」ものが何かという定義もあいまいなままですね。
表(table)の1行(row)を抜き出して、同じ構図のまま表示する場合は表とする。
表(table)の1行(row)を抜き出して、構造を変えて表示する場合はすでに表ではないとします。
つまり、横に長いrowを詳細表示するために縦方向に書きなおす場合は、表としての構造を成さなくなりtableは使えなくなります。
rowは結果的にcolumn(cell)の箇条書きになるので、ulタグ一択になると考えます。
ただし、九九表のように縦も横も同じ内容の場合は表だと仮定できます。
とまぁ、ややこしいのでタイミングによっては微妙に解釈を変えるかもしれませんが。

試行錯誤したのですが、結局はdisplayプロパティのtable、table-row、table-cellに回帰せざるを得ませんでした。


ul.table {
display: table;
}
ul.table li {
display: table-row;
}
ul.table li>* {
display: table-cell;
}

表ではないのにrowspan、colspanを必要なら、構造を再検討するということにしています。
これで落ち着くのかな?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です