- ベストアンサー
テーブルの幅指定について
<html> <head></head> <body> <table border width="800" align="center"> <tr> <td>1日目</td> <td width="200">7:00駅集合→8:00新幹線出発→15:00宿着</td> </tr> <tr> <td>2日目</td> <td>10:00宿出発→12:00新幹線出発→17:00駅着</td> </tr> </table> </body> </html> ・・・というページを作ります。注目して欲しいのは1行目の2番目のセルのwidth="200"です。 ネスケ(7.02)で見た場合、幅は200になりません。指定しないときと変わらない幅になります。 IE6の場合、セルの幅は変わらないままなのですが、どうやら、中の文字は200が効いているらしく、途中で改行になってます。 次に上のファイルにドキュタイプ宣言 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> をつけてみました。 そうすると、ネスケでは、指定通りセル幅200になりましたが、IEは変わった感じがしませんでした。 これは、ドキュタイプ宣言をつけたネスケが正しい動きをし、IEの動きはバグと考えてよいのでしょうか? 普通に考えると、ドキュタイプのネスケの表示が1番正しい気がするのですが・・・
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
確かにIEは変ですね。 でも、 <td>10:00宿出発→12:00新幹線出発→17:00駅着</td> のほうにもセル幅指定のwidth="200"を入れるとちゃんと表示します。 IEのバグのような気がします。
その他の回答 (2)
- steelgreen
- ベストアンサー率50% (50/100)
確認したわけではないのですが。 恐らくIEやNetscapeなどのDOCTYPEスイッチが 関係してるのだと思います。 IEではDOCTYPE宣言文のURLの部分、つまり <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> のように記述するとタグやCSSの解釈が違ってきます。 検索エンジンなどで「DOCTYPE スイッチ」などで 検索すると詳しく解説しているサイトがみつかります。
お礼
ドキュタイプの重要性はわかってるつもりでしたが、ドキュタイプでこんな風に動きが変わるのを初めて確認したので、「へ~」って感じです。 回答、ありがとうございました。
テーブルの幅を800で指定して 左上のセルは無指定、右上が200で指定されているので 左上のセルに幅600を指定すれば 右上のセルは200で表示されますね。 またはテーブルの幅を指定しなければ良いのではないでしょうか? バグというより仕様なのでしょうか?
補足
素早い回答ありがとうございます。 実は、今回の質問は「こういう表が作りたい」というわけではないのです。 左を無指定、右を200で指定したら、指定された200を優先させて、無指定の左は自然に600になるんじゃないのかなー なんでかなー という疑問を感じて質問させていただいたわけです。 IEが仕様なら、ネスケの方がバグ?
お礼
ブラウザってバグがいろいろあったり、最新版なのに対応してないcssがいろいろあったりして、難しいですね。 趣味でWeb作りをしてますが、どんなブラウザでもおかしくないページを作りたいのになかなか大変です。 回答ありがとうございました。