- ベストアンサー
ALIGN="RIGHT"がIE6でくずれます・・・。
タイトルに書かれているように、テーブルタグ内で <td align="right"><img src="?????"></td> とするとIE6では右によらず、デフォルトにままになってしまいます。マックのIE5.1,NN6.2, LINUXのNNではうまくいくのですが、どうしてでしょうか? IEでくずれるので正直こまっています。 あと、文字のサイズ指定は<FONT SIZE=....>よりもスタイルシートを使ったほうがいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
試してみましたが、テーブル要素の幅がうまく指定されていない のがうまくいかない原因のようですね。 2つ修正するとうまくいくと思います。 【1つ目】 全体で幅700のテーブルでと指定していますが、 一行の5つのセルを「2 1 2」とくっつけて3つのセルがあり、 両端の幅をそれぞれ50と指定されていますが、真中は空白ですよね? そこに試しにwidth=600と書きましょう。 いつもこういう固定的な幅指定はしないのですが、 省略してはいけないようです。 【2つ目】 数字の5と7が入っているセルが上で指定している幅とあっていません。 width=350となっているところを、それぞれwidth=50と修正してください。 これでセンタリングや右寄せはうまく見えると思います。 これまで右端によっていないように見えていたのは、 実際にはもっと広い幅で表示されているのに、 それよりも小さい範囲の幅のなかで右端によっていたからのようです。 こんな説明でわかりましたか?
その他の回答 (3)
- Adams2001
- ベストアンサー率67% (70/103)
WindowsのIE6で、BODY直下のTABLE要素ではまったく問題なく表示されます。 そのTD要素が含まれるTABLE要素だけを別ファイルにコピーして表示してみてはどうでしょう。その表内の記述が問題なのか、その外側の要素との兼ね合いなのか、までは判明すると思うのですが。 >あと、文字のサイズ指定は<FONT SIZE=....>よりもスタイルシートを使ったほうがいいのでしょうか? <FONT SIZE=・・・>を単純に<SPAN style="font-size:・・・">に置き換える、ということなら、ページの作者、読者双方に何のメリットもありませんので変更する必要はないと思いますよ。
補足
みなさん、回答ありがとうございます。 みなさんの回答を読んだ限り、はっきり言ってどの回答も当てはまりそうで困っております。 今の時点ではっきりしている事は、 僕の環境はマックで、IE5.1,NN6.2(いづれもfor mac)では完全動作 学校にあるwinマシンのIE6ではALIGN属性がまったく有効ではない(centerなどもでした。。。) Linux NN4.75ではフォントサイズが指定できない。その他有効(これはしょうがないのかな?) !DOCTYPEはもともと指定していませんでした。 (初耳でした、これは書かなくてもよいのでしょうか?) で、実際簡単な物を作って見てみたらALIGN="RIGHT"がうまく行きました。 これって、どっかで終了タグがないからなのでしょうか? かなり複雑なテーブルを作ってしまったので自分でも自身がありません。 もしよろしければ、下に書いてあるのが正しいか試していただけませんか? ご面倒かけてすいません。 <html> <head> <TITLE></TITLE> </head> <body bgcolor="gray"> <table border="1" width="700" height="980" bgcolor="white" align="center" cellpadding="1" cellspacing="1" > <tr> <td width="50" height="50" colspan="2">1</td> <td>2</td> <td width="50" height="50" colspan="2" align="right">3</td> </tr> <tr> <td width="700" height="100" colspan="5">4</td> </tr> <tr> <td width="330" colspan="2" rowspan="3" valign="top">5</td> <td width="10" rowspan="3" valign="middle" align="center">6</td> <td colspan="2" align="right" height="350" width="360">7</td> </tr> <tr > <td colspan="2" height="10" align="left" >8</td> </tr> <tr> <td colspan="2" align="center" height="370">9</td> </tr> <tr> <td colspan="5" width="700" height="50">10</td> </tr> <tr> <td width="50" height="50" colspan="2">11</td> <td width="10">12</td> <td width="50" height="50" align="right" colspan="2">13</td> </tr> </table> </body> </html>
- shiba1
- ベストアンサー率41% (10/24)
!DOCTYPEが関係しているとか何とか??? IE6だと、入れ子テーブルで、親テーブルのalign属性を受ける。 とか?そういう話題をちょっと耳にしました。 私は使っていないのでなんとも分かりませんが、 参考URLを見てみて下さい。 思いっきり関係ないかも・・・。
補足
回答ありがとうございます。 参考URL見させていただきました。 まったくDOCTYPEは書いてなかったのですが、 書くとテーブルの使い方が制限されてしまうと言う事でしょうか?
- callhiro
- ベストアンサー率35% (54/152)
今試してみたんですけど、IE6でもちゃんと右寄りに表示されましたけどね~。 マックのIE6なんですか? 画像しかないテーブルでしたら <th align="right"><img src="?????"></th> で試してみてはいかが? <th>は標準でセンタリングされるはずなんですけど。 もしかしたら、その<td>自体ではちゃんと右端に表示されているけど それより外側のタグがなんか影響して右に寄ってないように見えるのかも。
補足
回答ありがとうございます。 学校じゃないと確認できないので、返事が遅れてすいません。 簡単なもので試してみたのですが、表示できました。。。 なんか、感じではテーブルタグの書き方がおかしい気がしてきました。 上の方の回答で簡単なソースを載せていますので、試してもらえるとうれしいです。よろしくお願いします。
お礼
ありがとうございました。 ちょっと複雑でわかりにくかったと思いますが、 上の1と3の幅指定、真中の5と7の幅指定、一番下の幅指定 やはりこれらが違うのが間違いだったようですね。 真中の幅が一番重要だったのでこっちにあわさせたのですが それでうまく行きました。 あとは帰って家のパソコンで崩れてないこと祈ります。 どうもありがとうございます。