大分前から、画像を綺麗に並べたくてできないことに悩まされました。
具体的に言いますと、普通に画像をテーブルの各セルに入れると、必ず画像の間(上下左右とも)にスペースができてしまいます。それで都合がいい時もありますが、どうしても隙間なくくっつけたい場合はとても苛立ちます。
まず、4枚の写真を2X2のマトリックスに並べたいとします。普通に書くと、以下の通りになります。tbodyとかは省略します。
<table>これでは、必ず画像の間に空白ができます。さて、HTMLのテーブルに関して、セル間の間隔とボーダーラインの指定ができます。それで、以下のように書き直すと、とりあえず横の隙間はなくなります。しかし、縦は必ず隙間はできます。それは、セルやテーブル自身の高さを画像サイズとぴったり同じに設定しても、縦の隙間は全く変わりません。
<tr><td>
<img src="xxxx"></td><td>
<img src="xxxx"></td></tr>
<tr><td>
<img src="xxxx"></td><td>
<img src="xxxx"></td></tr>
</td></tr></table>
<table border="0" cellpadding="0" cellspacing="0" >色々調べてみたら、やっと解決策を見付けました。縦の隙間の原因はvertical alignはデフォルトの設定がbaselineになっているからです。それを「bottom」に設定してあげると、隙間はあっさりとなくなります。
<tr><td>
<img src="xxxx"></td><td>
<img src="xxxx"></td></tr>
<tr><td>
<img src="xxxx"></td><td>
<img src="xxxx"></td></tr>
</td></tr></table>
最終コードは以下の通りになります。
<table border="0" cellpadding="0" cellspacing="0" >
<tr><td>
<img style="vertical-align: bottom;" src="xxxx"></td><td>
<img style="vertical-align: bottom;" src="xxxx"></td></tr>
<tr><td>
<img style="vertical-align: bottom;" src="xxxx"></td><td>
<img style="vertical-align: bottom;" src="xxxx"></td></tr>
</td></tr></table>
No comments:
Post a Comment