HTMLのtableでレイアウトを作成する際に、デザインの自由度があまり高くなくて困る事が多いです。
自由度が高くない分、tableレイアウトでのデータの配置が堅牢に実装できるのかとは思いますが、デザインを実装する際に、tableを用いるべきか、divタグを用いて自由に実装すべきか、中々判断が出来ません。
以下のようなテーブルレイアウトで、header1とheader2の間の余白を広げたいです。
cellspacingやborder-spacingをtable要素に適応すると幅を指定できるかと思いますが、この場合、table全体のセルに影響が出てしまいます。
header1カラムとheader2カラムの間に余白が生まれるのは許容できますが、セルの全方位に余白が生まれてしまうのが許容できません。
また、別要件になりますが、行毎(tr)にborder-bottomを入れる必要があり、その為にtableにborder-collapse: collapse;を指定すると、そもそもborder-spacingは効かなくなります。
このようなレイアウトを作成する場合、tableレイアウトではどのように実装すべきでしょうか?
要件をまとめますと、
・header1とheader2の間の余白を広げたいが、セルの全方位に余白が生まれて欲しくない。
・tbodyのtr要素(行単位)に下線を引きたい。
そもそもtableレイアウトでやるべきでない、というような意見でも大丈夫なので、ご確認いただけますと幸いです。
<table> <thead> <tr> <th colspan="3"> header1 </th> <th colspan="3"> header2 </th> </tr> </thead> <tbody> <tr> <th>th</th> <th>th</th> <th>ht</th> <th> th </th> <th> th </th> <th> th </th> </tr> <tr> <td>td</td> <td>td</td> <td>td</td> <td>td</td> <td>td</td> <td>td</td> </tr> </tbody> </table>
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。