• ベストアンサー

HTML宣言文関係お答え下さい。お願いします。

お願いします。 HTML初心者です。 宣言文を付けずに、テーブルワイドハイ指定100%でテーブルはディスプレイ中央に収まるのですが、宣言文<!DOCTYPE html>で行くとワイドは100%のままハイが70%位になり上によってしまいます。 現在宣言文無しでイメージをディスプレイ中央に置いていますが、宣言文は付けると見ますのでこの辺りのやり方で好いのがあればお願いします。 宜しく願います。

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

DOCTYPEは、必ずつけることになっています。  もちろんつけなくても表示できます。  このふたつはきちんと区別してください。お酒を飲んだら運転してはなりませんけど、お酒を飲んでも車は運転できます。  ブラウザにとって、それに、どのような働きがあるのかは DOCTYPEスイッチ-HTMLの基本 ( http://www.htmq.com/htmlkihon/302.shtml )  をお読みください。  基本的に、ブラウザが標準モードで動作するようにDOCTYEを記述し、そのDOCTYPEに従ったHTMLを記述すれば良いです。 <!DOCTYPE html>  はHTML5で使用するDOCTYPE宣言で、これは従来のDOCTYPEと意味が異なり、ブラウザに対して『標準モード』を指定するスイッチの機能しかありません。  繰り返しますが、今後はHTMLは標準モードが基本となります。互換モードは言い換えれば、ウェブ標準でない時代のIEの動作です。他のブラウザで確認されるとわかりますが、ほとんどあなたの期待通りには表示されないと思います。firefox,Opera,Chromeなどで確認してください。  また、レイアウトをtableを用いて行うのはウェブ標準ではありません。 「単に文書内容を整形する目的だけで表を用いるべきでない。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )」 「ページレイアウトの目的で表を用いる。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )」  も含めて、HTMLやスタイルシートのほうを見直して、標準モードでも期待通りに表示されるようにしてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 宣言文とjavascript

    javascriptでチップヘルプを表示させています。 文字にマウスが乗れば説明文が表示されるものです。 こちらの宣言文を <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 下記のもの <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> に変更すると、チップヘルプが上手く表示されません。 指定した位置より、かなり離れてしまいます。 ブラウザ別(IEとFirefox)で確認したところ、Firefoxでは表示もされないようになります。 こちらを解消する方法はあるのでしょうか?

  • DOCTYPE宣言 Strict HTML4.01

    DOCTYPE宣言でStrict(HTML4.01のルールに厳密かつ正確に従う定義)を指定しているのですが、フレームが使用できます。HTML4.01では、フレームは使用不可と見たのですが、どうなっているのでしょうか?

    • ベストアンサー
    • HTML
  • DOCTYPE宣言文について

    html・xhtml&cssを勉強している初心者です。約2週間位前から同じ宣言文でソースを入力していたところ、以前と同じ宣言文で打ってるにも関わらずcssのソースどうりいかなくなりました。宣言文を消去するとソースどうりに出来ます。PC DEPOTの方に問い合わせしたところ、HTML4がHTML5に自動的にバージョンアップしてのが原因で打つ手がないとの事でした。 どなたか解決の方法をご存じでしたら是非お教え下さい。よろしくお願い致します。

  • HTML4.01について。

    タグ打ちでHPを作るときに、一番初めに <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> など、DOCTYPE宣言を書かなければいけないということを聞きました。 指定するバージョンにはHTML3.2、HTML 4.01、 HTML4.01 Strictなど色々あるみたいなのですが、 自分が書いているタグがどのバージョンに当てはまるのか分かりません。 どうやったら調べられるのでしょうか?

  • W3Cで悩む 解決方法教えてください

    http://aromagirl.net/kinen/を W3Cでチェックしているのですが <質問1> <TABLE> に他のHTML用の属性 `HEIGHT` が指定されています。 → 解説 80 というときtableタグにheightでテーブルの高さを指定すると マイナス得点になるのですが どう直せばいいのか? 他にも→ 解説 80にいくエラーがものすごい 多いのですが   <質問2> 解説80を見ると <TAG> に XXXX 用の属性 `ATTR` が指定されています。 *5* top チェックしているHTMLのヴァージョンではサポートされていないが、他のヴァージョンでサポートされている属性です。あまりこの警告が大量に出るようなら、DOCTYPE宣言が適切でない可能性があります。 DOCTYPE宣言が適切でない可能性があります。と出るが <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> にしてみたが同じ状態になる。 DOCTYPE宣言はどう書けばいいのか? 悩みます。 .

  • 教えてください。ホームページを作っているのですが、宣言文を入れると、中

    教えてください。ホームページを作っているのですが、宣言文を入れると、中央に配置できなくなります。 これはどうすればよいのでしょうか?? <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head>

  • Docytype宣言とスターハックについて

    CSS初心者です。 擬似フレーム使用且つ、メニュー欄に置いて半透明PNG画像を使ってみたいと思い、CSSをいじっているのですが、当方のプラウザがIE6なので、IE6の場合、半透明PNGの代わりにフィルターのかかったgif画像を使おうと思い、スターハックでその指定をしてみました。 ところが、プラウザではスターハック以下の事項を読み取ってくれません。 原因としては、Docytype宣言にあるような気がするのですが、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> でもスターハックは使えるものでしょうか? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> に宣言を変えるとスターハック以下が働くのですが、擬似フレームが崩れてしまい…と悩んでいます。

    • ベストアンサー
    • HTML
  • <A> に他のHTML用の属性 `TARGET`

    ソースをチェックしたら <A> に他のHTML用の属性 `TARGET` が指定されています。 の部分が <TAG> に XXXX 用の属性 `ATTR` が指定されています。 *5* チェックしているHTMLのヴァージョンではサポートされていないが、他のヴァージョンでサポートされている属性です。あまりこの警告が大量に出るようなら、DOCTYPE宣言が適切でない可能性があります。 というエラーになりました。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"><html lang="ja"> で宣言しているのですが、 これは間違いですか? target="_blank" は使いたいです。

    • ベストアンサー
    • HTML
  • <A> に他のHTML用の属性 `TARGET`

    ソースをチェックすると 「<A> に他のHTML用の属性 `TARGET` が指定されています。」 というエラーになるのですが、 aタグにTARGETを使うのはよくないという事でしょうか? 解説を見ても --------------------------------------------------------------------------- 80. <TAG> に XXXX 用の属性 `ATTR` が指定されています。 *5* チェックしているHTMLのヴァージョンではサポートされていないが、他のヴァージョンでサポートされている属性です。あまりこの警告が大量に出るようなら、DOCTYPE宣言が適切でない可能性があります。 --------------------------------------------------------------------------- と書いてあり、なぜだめなのかよくわかりません。 TARGETを使いたいのなら、DOCTYPE宣言を変えるしかないという事でしょうか?

  • HTML標準モードでのブロック要素について。

    HTML5の仕様でページを作成しようとしています。 そこで、HTML5のDOCTYPE宣言は <!DOCTYPE html> のみでよく、これで標準モードに切り替わるということは分かりました。 ですが、今までの(4.1やXHTML)の宣言で互換モードになっていた場合と、imgタグやdivタグなどのブロック要素の下にスペースができたりできなかったりでデザインが崩れてしまい困っています。 互換モードの場合はimgタグを連続で書くと隙間無く並びますが標準モードだと隙間があいてしまいます。 しかも、どうも微妙に各間隔が違うようで、4pxだったり5pxだったりしています。 この隙間をなくすためには、それぞれの間隔を計ってスタイルシートのpsistionで指定しないと無理でしょうか? それとも、「margin:0px;」のように簡単になくす方法があるのでしょうか? それとも、HTML5だから、長々とDOCTYPE宣言を書いてはいけないことはなく、互換モードになるようにXHTMLの宣言などを書いてしまってもかまわない(動くかどうかではなく、仕様的にです)のでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • CSS