• ベストアンサー

CENTERでTABLEの中まで中央揃いになってしまう

何年か前からHPを作っているのですが、以前は確かにテーブルは中央に表示されていて、中の文字は普通に左から表示されていたのですが、今日久しぶりにそのページを見てみると、中の文字まで中央寄せになっていました。記述は以下のとおりです。 <CENTER> <TABLE> ~テーブルの記述~ </TABLE> </CENTER> で、他のページを見てみると、同じ記述でもちゃんと左寄せのまま(標準)になっていました。「???」と思っていろいろ違いを調べてみると、冒頭に<!DOCTYPE HTML PUBLIC "HTML 3.2">とあるものが中央寄せになっていました。この記述をはずすと意図どおりに「テーブルは中央表示、中の文字は左から表示」となります。セル指定「ALIGN=LEFT」は入れてません。もちろん、入れると左から表示となりますが、以前はちゃんと表示されていたのに何か途中で変わったんでしょうか? 場合によっては全ページの調査をして修正の必要があるので頭が痛いですが、どうするのがBETTERなのかアドバイスいただければうれしく思います。

  • HTML
  • 回答数3
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

原因はDOCTYPEスイッチです。 ココで私が説明するよりもよりわかりやすく 説明されているサイトがいくつかあります。 DOCTYPE 宣言による「解釈モード」の切り替え http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/Doctype-Switch_situation.html 上記のサイトにはかかれていませんが、確かOpera7でも採用されていると記憶しています。 これからは、DOCTYPE宣言を <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> に統一した方がいいかもしれません。昔に書かれたHTMLは、大抵の場合厳格に解釈されて表示させると意図どおりに表示されない場合が多いです。なので、DOCTYPE宣言をよりルールの緩やかなTransitionalにし、スイッチも昔モードにするといいと思いますよ。

参考URL:
http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/Doctype-Switch_situation.html
mayurin
質問者

お礼

すばやい回答ありがとうございます。 参考URLもとても参考になりました。他にも変になってるページがいっぱいありそうです・・・。DOCTYPE宣言は自分で意識してくっつけてるわけじゃなかったので、何も意識してませんでした。これから回答にあるように修正して回らなければなりませんね。具体的に書いていただいて、助かります。ありがとうございました。

その他の回答 (2)

  • peron
  • ベストアンサー率45% (43/95)
回答No.3

#2です チェッカー試して頂き 無駄ではなかったと喜んでおります とりあえず1ページだけでも合格目指されたらいかがでしょうか 私も自信があり、やってみたのですがボロボロでした 苦闘の末1ページ合格頂いてコツが判り、やっと自身のページの1/3を修正致しました けっこう快感になったりします がんばって下さい

mayurin
質問者

お礼

そうですね。ボチボチとやっていこうと思います。 ありがとうございました。

  • peron
  • ベストアンサー率45% (43/95)
回答No.2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">と記述したら、W3C勧告のHTML 4.01に従ってページを解釈して下さいと宣言している事になります そうするとHTMLの中に見え方を規制する属性は推奨しないとなり、CSS(スタイルシート)で指定しなさい となっています つまり、<TABLE>タグにalign=leftを使ってはいけないという事です (テーブルを視覚表現の為に使う事もだめです) 考え方を変えなければなりません どんなブラウザで見ても(CSSのOFFの状態)最低限の情報が判り、CSSを使う事でデザインを表現するという事です ※ ブラウザがテーブルの中を左寄せに記述しようが、真ん中に記述しようが それによって情報が変わるようなページを作ってはいけない という考え方です 下記URLにHTML 4.01チェッカーがあります ここに 作成したページのURLを記入すると(ローカルファイルはダメです)厳密にチェックしてくれます 一度お試し下さい ※ 結構キツイです 合格する為にはかなりの知識が要求されます でも合格すれば、W3Cの公認のページとして発表出来ます 以前に書かれたページ(<!DOCTYPE HTML PUBLIC "HTML 3.2">宣言してあるページ)は今はそのままでよいと思いますが、いずれ別の表記に変更しなければならないと思います

参考URL:
http://validator.w3.org/
mayurin
質問者

お礼

回答ありがとうございます。チェッカーやってみました。ボロボロでしたが変えるとなると全面的に見直し、修正ということになるので、気が遠くなりますね・・・。(何せページ数が多いので。。。) でも本当はきちんと作り直したいですね。

関連するQ&A

  • テーブルの中にテーブルを入れ込んで・・・

    最近、質問ばかりしてるような気がするのですが・・・ m(__)m 親テーブルのセルの中に子テーブルを入れ込んで 子テーブルを親テーブルのセルの縦位置を中央に表示させたいのですがうまく行きません NN6.Xでは表示されるのですがIEだと上寄せに 表示されてしまいます。 これはIEの仕様でしょうがないのでしょうか? (↑けしてダジャレではありません(^^ゞ) セル内配置でテキストや画像は上手く 中央位置に出来るのですが子テーブルが出来ないです なぜでしょうか? 参考のためにソースコードを --------------------------------- <table width="100%" border="1" height="100%"> <tr> <td align="center" valign="middle"> <table width="50%" border="1" height="50%"> <tr> <td> </td> </tr> </table> </td> </tr> </table> ------------------------------------- よろしくお願いします。 スタイルシートやjavascriptを使ったやりかた とかもあるのでしょうか?

    • ベストアンサー
    • HTML
  • 文字の左寄せセンター表示

    文字の左寄せセンター表示 文字の左寄せセンター表示させたいのですが、左寄せはできましたがセンター寄せができません。普通に左寄せに使用したタグをセンター寄せタグを追加すればよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • プルダウンメニューで中央表示

    プルダウンメニューで中央表示 HTMLのプルダウンメニューで文字を中央寄せにすることは可能でしょうか? ページのレイアウト上、ボックスの幅を広くとっていて、 リストの文字が端によりすぎてしまうので、中央に表示したいのですが、 tableタグなどで使えるalignのようなものはないのでしょうか。 ご存知の方、教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 複数のテーブルを無条件に中央寄せする方法

    テーブルを無条件で中央寄せする方法を知りたいです。テーブルのセルの中にテーブルを作ったり・・・などしているので、是非ともマクロで全てのテーブルを中央寄せする方法を知りたいのです。 table{text-align:center;} でいいんでしょうか?

    • ベストアンサー
    • HTML
  • IE8などでCSSでテーブルを中央に、テーブル内のテキストは左寄せにしたい

    お世話になっております。 ・本文・テーブルは中央揃え ・テーブルの内容は左揃え というものをCSSで作りたいのですが、 どのようにしたらいいのでしょうか。 現在のページの一部は <div id="main"> <h1>タイトル</h1>   <table border="1"> <p> 本文 </p> <tr> <td colspan="2"><h2 align="center">○○○</h2></td> </tr> <tr> <td>内容</td> <td>内容</td> </tr> ~行が続きますが省略~ </table> </div> のようになっています。 ちなみに cssのmainは「text-align:center;」を指定しておりますが、 IE8にしたところテーブルが左寄せになってしまいました。 なるべく多くのブラウザで同じような配置になるようにしたいのですが どうしたらよいでしょうか。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • TBテーブルの表示位置

    テーブルを作成し、テーブル自体は思い通り表示されたのですが、テーブルが表示されるのがページのかなり下のほうなのです。 文字列のすぐ下に表示したいのですが、どうしても表示できません。 文字列のすぐ下に表示する方法をご教授下さい。 <HTML> <HEAD> <TITLE>タイトル</TITLE> </HEAD> <BODY>  <CENTER>  <H1>文字列</H1>  <TABLE BORDER>   <TR>・・・・・(テーブルの中身)</TR>  </TABLE>  </CENTER> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • HTMLのテーブルについて

    HTMLで表を作って、中央寄せにすると、 中の文字もセルの中央にいってしまうのですが、 出来れば文字はセル内の左に寄ったままで、 表そのものを中央に寄せたいので困っています。 どのようにタグを入力すればよいのでしょうか? 超初心者です。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • <css>テーブルの中と外で同じフォントサイズにならない

    WinXPproSP2+IE6です。 HTMLで作ったページにテーブルがあります。 外部cssでbodyとtableのフォントサイズを別々の設定で20pxにしました。 このcssを前述のHTMLにリンクさせ、IEで表示すると、テーブルの中の文字とテーブルの外の文字の大きさが違います。 どうすれば同じになるのでしょうか? HTMLでのフォントサイズは行っておりません。 <cssの記述内容> body{ font-size:20px; } table{ font-size:20px; }

    • ベストアンサー
    • CSS
  • テーブルで中央に指定したい

    1行1列の横100% 縦100%に指定したテーブルを1つ そのテーブルの中に1行1列の横100px 縦100pxが1つ このようにした場合、中に入れたテーブルはどの解像度でも画面の中心にくるはずです。 しかし、IE6で確認すると横の中央にはくるのですが縦の中央にはきません。 しかしネスケ4.7ではイメージ通りになっています。 なぜでしょうか? [ソース参考] <table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td width="100%" height="100%" align="center" valign="middle"> <table width="100" height="100" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#0033CC"> <tr> <td width="100" height="100"><center> <font color="#FFFFFF"><strong>中央</strong></font> </center></td> </tr> </table> </td> </tr> </table>

  • テーブルのtext-alignがきかない(IE7)

    お世話になります。初心者ですが、アドバイスいただけると助かります。 宜しくお願いします。 セル内のテキストを中央寄せにしたいのですが、 IE7では、下記のソースだと適用されないで困っています。(左寄せになる) (さらに、テキストに対して十分なwidthがあるのに、途中で折り返されて2行になってしまう) Safari、Firefox、Opera(いずれもMac)はOKでした。 例えば... ●●●●●● とセルの中に表示したいのに、 ●●●● ●● と途中で折り返されてしまう、(widthは余裕があります) CSS th,td.A{ width:30px; height:35px; text-align:center; } HTML <table> <tr> <td class="A"> ●●●●●●</td> </tr> </table>

    • ベストアンサー
    • HTML