- ベストアンサー
テーブルのセルの隙間を調整する方法は?
- 初めてなので上手く伝えられなかったらすみません。テーブルのセルの隙間を調整したいんですが上手くできません。
- <table cellspacing="0"><tr><th></th><td></td></tr>・・・<tr><th></th><td></td></tr></table>という形です。thとtdにはテキストが入っています。
- 縦の幅をそろえたいんですがcellspacing="0"をしても一行の高さより間隔が広いのをなんとかしたいんです。thの中に改行があるのでそれと合わせたいんです。これはline-heightとかで何とかなりますか?一応文字サイズ変えたり見ても均一な行間になるようにしたいので高さ指定だとあまり良くないと思ってます。CSSもいくらか分かるので、HTMLかCSSで上手い対策をごぞんじの方教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ああ、ようやく分かったような気がします。 <table cellspacing="0" cellpadding="0" border="0"> これでどうですか? デフォルトだとセルの枠と内容との間に、わずかに余白ができているので、 cellpadding="0"で余白を0に指定します。 <table cellspacing="0" cellpadding="0" border="1"> <table cellspacing="0" border="1"> この二つで見比べると分かりやすいかと。
その他の回答 (2)
- goldfox
- ベストアンサー率49% (123/249)
すみません、なおさらに意味が分かりません。 「改行の行間よりセルをまたぐ行間」 ってなんですか? ><th>は常に1行です。 >thの中に改行があるので 矛盾していませんか? 改行があるなら、それは2行ではないのですか? できれば状況を再現できるソースを提示してもらえませんか?
補足
質問文は打ち間違えていました。すみません。 改行があるのはtdの中です。 つまり <table cellspacing="0"> <tr> <th>テキスト</th> <td>一行目<br>二行目</td> </tr> <tr> <th>テキスト</th> <td>三行目</td> </tr> </table> となっていて、一行目と二行目より二行目と三行目の間隔の方が広いんです。 CSSのline-heightなどを利用して行間を調整しようと思うんですが、どうすればきっちり行間が合うのかと悩んでいるんです。
- goldfox
- ベストアンサー率49% (123/249)
>テーブルのセルの隙間を調整したいんですが上手くできません。 「セルとセルの間の隙間」ならcellspacingで指定可能ですが、 >縦の幅をそろえたいんですが……一行の高さより間隔が広いのをなんとかしたいんです とは? セルの枠と内容の「間の余白」、ですか? それともせるそのものの「高さ」ですか? thが2行の内容ならtdも2行の内容高さですが。 もうちょっとその部分も含めた詳しい説明があると分かりやすいのですが。
補足
<td>の中で改行している行としていない行があります。 cellspacingは0にしているんですが、それでも改行の行間よりセルをまたぐ行間のほうが広いんです。ちなみに<th>は常に1行です。 その後、セルの間隔を調整しても無理そうだということは分かったんですが、まだ全部の行間を統一することは出来ていません。 上手く行くのなら「余白」でも「高さ」でもいいんですが、この行間を上手く統一したいと思っているんです。
お礼
ありがとうございます。 cellpaddingなんて今初めて知りました。実はcellspacingも投稿の直前に知ったところだったんです。 たまたま見たサイトにcellpaddingがなかった自分の不運を悔やんでいます(笑) 本当に助かりました。