• ベストアンサー

<!DOCTYPE> は必要??

タグ打ちでホームページを作っているのですが、<!DOCTYPE>は必要ですか??調べてみると、QuirksとStdrdsへの切り替えに必要らしいですが、QuirksとStdrdsの違いを意識しなければならないのは、どのような場合でしょうか?? あまり細かな説明をされても、理解できるかどうか分からないので、「こういう場合には必須!!」「こういう場合は必要なし!!」みたいなことを教えて下さると嬉しいです。 ご回答宜しくお願いします。

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

  • ベストアンサー
  • Muller3
  • ベストアンサー率81% (800/979)
回答No.8

>諸問題を解消するための手段であり道筋 う~んいろんな意味を含めました…(笑) 例えば、信号が赤だったら止まれ、という決まり事は、皆が守らないと意味を成しませんよね。それと同じで、ページを作る人も、ブラウザを作る側も、ページを見る(ブラウザを使う)側も、一定の決まり事を軸に話を進めなければ、みんなにとって都合のいい結果<どのブラウザでも、同じ書き方をすれば、同じ表示になる>に向かえないんですよね。 ただまあ、決まり事を無視しても人命に関わらないし今のところ不都合がないので強制力がない、という話かなと。 ま、そういう意味です(^^; でも今にDOCTYPE宣言がないページは表示しません、というブラウザが出てこないとも…ないか? 具体的な技術的なことについては、 http://www.seo-equation.com/www/cat25/doctype_switching こちらを参照されたらよいのではないかと思います。 で結局どっちって思われますよね。書くという決まりはあるけど、書かなくても今のところ支障がない、程度に思っておけばいいと思います。でも標準準拠モードに合わせて作ることを少しづつでも意識された方がよろしいんじゃないかとは思います。そういう流れにどんどん進んでいますので。

noname#35311
質問者

お礼

StandardとQuirkの違いが分かりました。適当(←いいすぎですが...)な人のために、Quirkがあるということですね。 >標準準拠モードに合わせて作ることを少しづつでも意識された方がよろしいんじゃないかとは思います 強くそう思います。できるように頑張ります。ありがとうございました<(__)>

その他の回答 (7)

  • 345itati
  • ベストアンサー率48% (795/1639)
回答No.7

DOCUTYPE宣言の種類によって標準準拠モード(Standards Compliant)と後方互換モード(Quirks)に切り替わるのは質問者様の認識通りです。 これは各ブラウザでの対応状況になりますが、モードが変わった場合に、主にCSSの解釈に違いやバグが出る場合がある、という問題があります。 参考 →http://www.keynavi.net/ja/bugh/css_misc.htmlhttp://cssbug.at.infoseek.co.jp/detail/winie.html こういう、モードの違いによって発生するバグを回避する意味でDOCUTYPE宣言を切り替えるのは手段の一つであると言えるのではないでしょうか。。。

noname#35311
質問者

お礼

>バグを回避する意味でDOCUTYPE宣言を切り替えるのは手段の一つ バグは嫌なので、Standardモードを意識していこうと思います。ご回答ありがとうございましたm(__)m

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.6

付けたり外したり、と書いてしまったからですかね、すみません。そんなことしても意味がないのでした; DOCUTYPE宣言がなかったら互換モードになるのだから、同じように互換モードになる <!DOCUTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Traditional//EN"> URLを含まないこの宣言書けば同じ事になりますよね。だから、わからなければとりあえずこれを書いておけ、という話もあるかと。 ただ、DOCUTYPE宣言が必須かどうかについては、私も必須ではないと認識しています。なくて不都合が出る、という話ではないけど、諸問題を解消するための手段であり道筋ではある、ということかと。

noname#35311
質問者

お礼

pj_sieyさん、345itatiさん、Muller3さん、Rusicaさん、ご回答ありがとうございます。もう少し、質問をさせて下さい。 pj_sieyさんの「CSSが分かる」とはどんな状態でしょうか??一応、最低限(?)のスタイルシートは作れますが、それでは駄目(?)なのでしょうか?? Rusicaさんの「HTMLおよびXHTMLでWebサイトを制作する場合は必須」というのは、「素人の人も『絶対に』<!DOCTYPE>を分かった方がいいよ」ということでしょうか??分かった方がいいには決まってますが. . . Muller3さんの「諸問題を解消するための手段」の諸問題とは何ですか??先ほどおっしゃっていた「padding, borderの計算の違い」とかでしょうか?? いつも、タグ打ちで作って・ブラウザで確認して・アップしていますが、もし、閲覧者が私と同じ種類・バージョンのブラウザを使っていた場合、私が見たのと同じ感じで見れますよね!?(←ブラウザの表示設定をいじっていない場合) もしそうなら、<!DOCTYPE>を宣言していないウェブサイトを作って、ブラウザで確認したときに、「これでOK」と自分で思えれば、別に<!DOCTYPE>を宣言する必要はないと思ったのですが. . . こんな考え方でも大丈夫でしょうか??

  • 345itati
  • ベストアンサー率48% (795/1639)
回答No.5

>HTMLおよびXHTMLでWebサイトを制作する場合は必須です。 W3Cでは書く事を「推奨」していますが、「必須」だとは言っていないようですが・・・。 これは何々に添って書かれていますとあらかじめ宣言する訳だからあったほうがいいに決まっていますけど。。。

  • Rusica
  • ベストアンサー率62% (10/16)
回答No.4

HTMLおよびXHTMLでWebサイトを制作する場合は必須です。 絶対に書いてください。 Webブラウザ上の見た目を気にしてDOCTYPE宣言を書くか否かを決めるのは、 HTMLの理念に反しています。

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.3

HTMLやCSSを正確に書く自信がなければ互換モード。 そのかわり正しく書いても各ブラウザで独自の解釈をされてしまい、あっちとこっちで見え方が違う場合あり。 HTMLやCSSを正確に書く自信があれば標準モード(Stdrds)。 正確に書かないと無視されますが、指示通りに解釈して正しく表示してくれる(とされている)。 互換モードは、Web標準というものがなかった古い時代に作られた古いページを表示するためのものですので、できればこれから作るページはできるだけWeb標準に準拠したものを意識して作られた方が後々いいのでは?とは思いますが… 仕様の違いは paddingやborderの計算方法が違う。 互換モードではmarginにautoが設定できない。 といったことがあるようです。(多分他にもあると思いますが) 作ってから、宣言を取ったり外したりして見え方の違いを見て、問題あれば外して、問題なければ入れておく、というのでもいいのかなーと思ったり…。

  • 345itati
  • ベストアンサー率48% (795/1639)
回答No.2

まあ、最近のブラウザではDOCTYPE宣言の種類によってそれぞれ表示に違いが出る場合があると言う事です。 また、宣言によっては、使えない要素ややっちゃいけない書き方というのも出てきますし。 最初は気にしなくていいですよ。無くても構いませんし。 (無い場合は、後方互換モード(Quirks)になります)

noname#23621
noname#23621
回答No.1

では、簡単に回答します。 気にしなくていいです。 CSSが分かるようになったら、気にしてください。

関連するQ&A