ココログでのテーブルタグ
以前テーブルタグの表を入れたら不思議なくらいの空白が表の前に出来てしまい、困りました。他でも同様の現象を見て、仕様なのねえ、と諦めていたのですが、ようやく原因と対策がわかりました。
ヒントは パソコンに振り回される日々: テーブルタグのテスト でした。ココログスタッフからのお知らせルーム へのトラックバックで見つけたのですが、根本的には「 TypePad の仕様」ということなのでしょう。
プラス・プロでは本文の行末に自動的に改行タグをいれない設定ができますが、通常はむしろ不便ですから設定していない人のほうが多いと思います。
これが悪さをしています。
上の文をタグ付きで示すと次のように生成されます。
<p>プラス・プロでは本文の行末に自動的に改行タグをいれない設定ができますが、通常はむしろ不便ですから設定していない人のほうが多いと思います。<br />
これが悪さをしています。</p>
空行があるまでは同じ段落とみなされるので、全体が「P」タグで囲まれます。さらに行末に改行のための「BR」タグが入ります。テーブルタグで表を作る時、たいていは出来上がったイメージのようにタグを書いていきますから、その行数分だけ通常の改行がはいります。
つまり、
<table>と本文に記入すると、各行末に<br />が入って、
<tr><td>項目A</td><td>1000</td></tr>
<tr><td>項目B</td><td>2000</td></tr>
<tr><td>項目C</td><td>3000</td></tr>
</table>
<table><br />になってしまうのです。このためブラウザが表の形を維持しながら改行タグを表現しようとするあまりに、表の行数分の空白ができてしまうということです。(ブラウザの挙動については推測ですが)
<tr><td>項目A</td><td>1000</td></tr><br />
<tr><td>項目B</td><td>2000</td></tr><br />
<tr><td>項目C</td><td>3000</td></tr><br />
</table><br />
したがって、解決策としては、「表は一行にする( TABLE タグの中には改行を含めない)」ということになります。作成の段階では表のイメージがつかみやすいように上のような書式でよいのですが、本文にいれて確定する段階で改行を取り一行にするのです。
<table><tr><td>項目A</td><td>1000</td></tr><tr><td>項目B</td><td>2000</td></tr><tr><td>項目C</td><td>3000</td></tr></table>
のように。
これにより、表の前に無駄な空白が表示されてしまうことを防ぐことができます。
先に示した過去の記事の表部分もこのように修正したので、正しく表示されるようになりました。
#以上を考えるとニフティからの回答は充分ではないですね。
| 固定リンク


コメント
いやあ、そういうことだったのですか。同じ現象が現れて困り果ててググッたら、ムムリクさんとこがいの一番にヒットしたじゃないですか。
とっても助かりました。
ありがとうございました。
投稿: takefour@旅歌 | 2008.02.10 10:38
どうも。なんだかココログは検索に拾われやすいようです。
今読むとかしこまった文章でちょっと恥ずかしいですねえ(笑)。
投稿: ムムリク | 2008.02.10 12:02
ちょっと前の、エントリで恐縮ですが…
以前から悩んでいた問題だったので助かりました^^
ありがとうございました。
投稿: kuma | 2009.11.11 18:13
kuma さん、こんにちは。
いえいえ、お役にたったのであれば何よりです。
投稿: ムムリク | 2009.11.12 11:13