※ ChatGPTを利用し、要約された質問です(原文:HTMLでテーブルタグ<table>を使って複雑な表を作成するときの記述方法について)
HTMLで複雑な表を作成する方法
このQ&Aのポイント
HTMLで複雑な表を作成する方法について解説します。セルの結合や行の結合を利用することで、希望の表を作ることができます。
例えば、2行の表で1行目が7列、2行目が4列のものを作りたい場合、2行28列の表を作り、1行目では4セルごとにセルの結合、2行目では7セルごとにセルの結合を行うという方法があります。
他にも各行を別々に作って改行し、1つの表に見せる方法もありますが、この方法では1行目と2行目の間が周囲の枠の厚さよりも2倍厚くなってしまうことがあります。
HTMLでテーブルタグ<table>を使って複雑な表を作成するときの記述方法について
複雑な表の作り方について、質問致します。
例を挙げますので、そちらをもとに回答を頂ければと思います。
<例>
作りたい表は2行のもので、1行目が7列、2行目が4列のもので、同じ行にあるセルはどれも同じ大きさとします。
※注1
4と7の最小公倍数は28ですから、2行28列の表を作り、1行目では4セルごとに「セルの結合」をし、2行目では7セルごとに結合することで、希望の表は作れますが、あまり賢い方法とは思えないので、一般的な方法を教えて頂けたらと思います。
※注2
「各行を別々に作って改行し、あたかも1つの表に見せる」という方法もありますが、1行目と2行目の間が周囲の枠の厚さより2倍厚くなるので、これも避けたいです。
説明が長くなりましたが、回答をよろしくお願い致します。
お礼
いろいろいじっているうちに、枠線のしくみが分かりました! 枠線は、セルの枠線とテーブル全体の枠線とに分かれているようですね。 0pxにすることで、数字通り太さ0(見えない)にできることが分かりました。 つまり、1行目と2行目の間は、セルの枠線1pxが重なって2pxの幅になっていて、これは、外枠の2px(テーブルの枠線1px+セルの枠線1px)と同じ幅になりますね。また、各行のセル間の枠線の太さも2px(セル枠線1px+セル枠線1px)なので、結果的に、この箱の中の枠線はすべて2pxになり、希望の「枠線すべてを同じ幅にしたい」という条件を満たします。 やはり、ポイントはborder-bottom-width、border-top-widthにあったようです。 とても助かりました!^^
補足
回答ありがとうございます。 教えて頂いたHTML文書をそのままソースにコピペし、確認してみましたところ、なかなか素晴らしいものが表示されました! 1行目と2行目のテーブルは別々に作られているようですね。 しかし、2つのテーブルが重なる境界線部分が太くなってないのが不思議です。 これはなぜなんでしょう。 ちなみに、1行目は14%と15%があり、微妙に均等ではありませんでしたが、問題なしです! 大事なのはむしろ、境界線の太さの方なので。。 どうやら、ポイントは、border-bottom-width、border-top-widthにありそうですね。(色々、htmlをいじって試してみました。) この命令を見るのは初めてです。 ただ、どちらも0pxで指定しているので、線は「見えない」のでは。。。 なんて思ったのですが、しっかり上と下のテーブルで半分こずつ線を出し合い、1本分の太さで境界線を形成しているではありませんか! 0pxに設定すると、線の太さは通常の半分になるのでしょうか。。。 (★この疑問に対し、再度回答を頂けると大変嬉しいです!) いずれにしましても、おかげ様で、私が求めていたものに限りなく近い「箱」が作れそうです。 感謝感謝です! ありがとうございます!