• ベストアンサー

HTMLの素朴な疑問です。

UKYの回答

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

DTD の意味は、やはり守るべき基準としての存在意義でしょう。 昔は、インターネットエクスプローラ専用のタグとか、ネットスケープ専用のタグとかが氾濫していました。ブラウザが勝手に自分専用の DTD を作っていたようなものです。 しかし、閲覧者の立場からすると、自分の使っているブラウザでは見れないページがある。製作者の立場からすると、たくさんの人に見てもらうためにはブラウザごとに何種類もページを作らないといけない。 そこで、これではいかん、ということで、W3C が HTML の基準を示して、皆さんこれに従って HTML を書きましょう、ということになったのです。 で、「ブラウザごとに使えるタグがあるなしがある」というのは事実なのですが、DTD に従って書くということで、うまく表示されないのをブラウザのせいにできるわけです。 つまり、昔は製作者がブラウザに合わせて HTML を書くのが当たり前で、ページがうまく表示されないのは製作者が悪いということだったのです (その "DTD" を決めたのはブラウザだから)。でも今は、W3C の DTD が一番えらい。製作者は W3C の DTD に従って書いているんだから、正しく表示できないときは HTML をちゃんと解釈できないブラウザの方が悪い、ということなのです。 こういう観点で見ると、携帯電話の各メーカーが「i-mode対応HTML」とか「HDML」とか独自の HTML を決めているというのは、昔の「インターネットエクスプローラ対ネットスケープ」と全く同じ構図なわけで、携帯電話業界は実は時代に後れているんじゃないかという気もします。

関連するQ&A

  • HTML4.01について。

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

  • HTML 標準モード 互換モード

    HTMLでは<!doctype html>タグを宣言しないとブラウザのレンダリングモードが「互換モード」になってしまうかと思いますが、一方 <!doctype html>タグを宣言すると「標準モード」になると思います。 <!doctype html>があるのとないのとでテキストエディタいじってブラウザの画面の比較を行ったのですが双方の相違点は理解できませんでした。 「標準モード」と 「互換モード」で決定的な違いは何かありますでしょうか?

    • ベストアンサー
    • HTML
  • 使えるタグ、使えないタグ、使わないほうがいいタグ…等

    タイトルの通り、使えるタグ、使えないタグ、使わないほうがいいタグ…等の違いを頭の中で整理することができません。 具体的に何で混乱しているかというと、 1、DOCTYPEスイッチで標準準拠にした場合は、color:fff;などの記述が無視されるだけで、htmlタグの使える使えないには関係がない…? 2、非推薦のタグは、使用することはできるが将来廃止になる可能性があるから、前方互換を考え使わないほうが良い…? 3、廃止タグは、使用することが出来ない。(記述しても無視される)…? 4、廃止タグを使った場合も、まだそのタグが廃止されていないころのブラウザを使えば問題なく使用可能…?(使用したいわけではなく、可・不可の問題で) 5、また、html5が話題になってきていますが、html5で廃止されたタグも現行のブラウザでは後方互換のため使用することが可能…? 6、html5では使えないが、ブラウザはhtml5にもhtml4.01等にも対応しているので使用ができる。という解釈で合っていますでしょうか? 7、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">などとしても、html5のタグが反応するのはどうしてなのでしょうか? 間違えている項目等、指摘していただければ幸いです。どうかよろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLチェッカーの警告とBGM

    クリスマスが近いので、自分のサイトでBGMを鳴らそうと(オートスタートではありません)思い、まったく独学ですが、このタグを入れました。 <EMBED SRC="×××.mid" autostart="false" repeat="true" width="100" height="30" type="audio/mid"> (<はわざと全角) うまく行ったと思ったら、HTMLチェッカーで次の警告が出ました。 「<EMBED>は Mozilla、MSIE または doti 用のタグです」 DOCTYPE宣言との不整合かと思いましたがわかりません。 宣言は下のとおりです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> この宣言をした時は<EMBED>を使ってはいけないのでしょうか。 その他のタグは大まか合格(!)のようで、全体的には「よくできました」でした。

    • ベストアンサー
    • HTML
  • <ruby>を使う時のDOCTYPE宣言は?

    HPのことで質問です。 <ruby>タグを使ったホームページをAnother HTML-lint gatewayにかけたところ、「他のHTML用」だと言われてしまいました。どうやらDOCTYPE宣言が原因のようです。そのページは<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> で作成しました。<ruby>タグを使えるDOCTYPE宣言は何になるでしょうか?

    • ベストアンサー
    • HTML
  • CSSでの中央寄せにかんする疑問

    .main { margin:0 auto; width:1000px; } とCSSファイルに記述することにより中央よせをしようとしています。 IE8以外のブラウザでは中央に寄るのですが、IE8では実現しません。 実はこのCSSの記述は私が以前作成したサイトからコピーしていて、そのサイトではすべてのブラウザで中央に寄っています。 今回作成したサイトではこのようなトラブルに陥りました。 で、苦し紛れでDOCTYPE宣言を <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> から <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> に変更したらIE8でも中央に寄りました。 なぜ、このようなことになったのでしょうか? 教えてください。 よろしくお願いします。(Apacheのバージョンとかがかかわっている?)

    • ベストアンサー
    • HTML
  • i-XHTMLのDTDって何ですか??

    i-modeでXHTML対応サイトを作成したいのですがDOCTYPE宣言の中にある.dtdという部分のDTDには何か意味があるようなのですがさっぱりわかりません。この宣言の他に別のタグや宣言を挿入しないと作れないのでしょうか??どなたか助けてください(/><)/

    • ベストアンサー
    • HTML
  • タグについて教えて

    タグを使って文字の変化をしたいのですが。 文字を例えば「青い空」とします。 1.強調の場合、<storong>青い空</strong> 2.太字の場合、<b>青い空</b>、ですね。強調と太字の違いは? 3.次に、「青い空」を強調(または太字)に文字色【例 <font color="blue"></font>でひとまとめにするにはどうしたらよいですか?

  • DOCTYPE は何で宣言すればいいのか

    DOCTYPE は何で宣言すればいいのかどうやって決めればいいですか? とりあえずネットからコピペしてきた <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> で、宣言してるのですが、果たしてこれがどういう意味かさっぱり分かりません。 とりあえず問題なくブラウザで閲覧できればいいのでしょうか?

    • ベストアンサー
    • 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