- ベストアンサー
テーブルのレイアウトに関する問題
- wordpressで作成したHPのテーブルが思った通りの形にならないため、htmlドキュメントで同じテーブルを作り直したが同じ現象が起きた。
- テーブルのセルとセルの間隔を1pxにする方法がうまくいかず、2pxの間隔になってしまう。
- 一部のブラウザ(Firefox)では思った通りのレイアウトになるが、IE6では一行目のセルに線が付き抜けて表示されてしまう。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
テーブルレイアウトですか。 ようするに、横方向の空白はいらないが、 縦方向の空白は必要なんですよね? であれば、一番単純な方法でお伝えします。 そのソフトはちょっと使ったことが無いですが、 HTMLを直接txtかなんかで作ってみればよいだけの事。 <html> <head> <title>無題ドキュメント</title> <style type="text/css"> <!-- .test { border-right-width: 1px; border-left-width: 1px; border-top-style: none; border-right-style: solid; border-bottom-style: none; border-left-style: solid; border-right-color: #FFF; border-left-color: #FFF; } --> </style> </head> <body> <table width="300" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="3" bgcolor="#CC3300"> </td> </tr> <tr> <td width="100" bgcolor="#FFCC00"> </td> <td width="98" bgcolor="#FFCC00" class="test"> </td> <td width="100" bgcolor="#FFCC00"> </td> </tr> </table> </body> </html> 以上が正解だと思われます。 ようするに、真ん中のセルにのみ、左右のセルとの境界線に1pxの白いラインを引きます。 ただ、上のhtmlもそうですが希望通りに300pxのテーブルに縦ライン1pxを計2px入れると、 セルになるスペース298が3で割れませんよ。 これをたとえば、テーブルを302にして、td widhtをそれぞれ100にすると均等になります。 ちなみにIE、firefox、両方とも確認済。 あと一言アドバイスするなれば。 一つひとつのタグにCSSを入れると大変面倒なので、 私が出した答えのようにクラスとして入力すれば大変便利です。 class=で呼び出せば、それだけで何度も複数に使えますし。サイトが軽くなります。 もう一つ言えば、そのcssを外部呼出しにすればもっとコンパクト。
お礼
こんばんわ。 とても判り易い説明とソースコードありがとうございます! こんなに早く回答を頂けているとは思いませんでした。 borderのpx分、全体のセルのサイズも増やさなければならないのですね。 無事、HPにも適用する事が出来、IE6でもレイアウト崩れしなくなりました。 重ね重ね感謝です。