• ベストアンサー

使えるタグ、使えないタグ、使わないほうがいいタグ…等

タイトルの通り、使えるタグ、使えないタグ、使わないほうがいいタグ…等の違いを頭の中で整理することができません。 具体的に何で混乱しているかというと、 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
  • 回答数2
  • ありがとう数1

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

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

仕様書を読めば、すべて書いてあることですよ。  とりあえず、HTML 4.01仕様書 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/cover.html )からだけ 【引用】____________ここから しかし、様々なHTMLバージョンの実装間での実験及び相互運用性を促進するため、次の動作を推奨する。 ●認識できない要素があった場合、ユーザエージェントは、内容のレンダリングを試みねばならない。 ●認識できない属性があった場合、ユーザエージェントは、当該属性定義全体(すなわち、属性とその値)を無視しなければならない。 ●認識できない属性値があった場合、ユーザエージェントは、デフォルトの属性値を用いねばならない。 ●宣言されていない実体があった場合、この実体を文字データとして扱わねばならない。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Performance, Implementation, and Design Notes (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/appendix/notes.html#h-B.1 )]より 【引用】____________ここから 注意。 1999年12月24日版のHTML 4.01において、HTML作業グループは次の方針を確約する。 ●HTML 4 DTDに将来発生する変更は、現在の規定によるDTDに適合する文書を不適正化するものではない。 HTML作業グループは、バグを修正する権利を予約する。 ●現在の規定に適合するソフトウエアは、将来の HTML 4 DTD にある認識不能な機能を無視してよい。  これはつまり、文書型宣言において、著者は最新版のHTML 4を指し示すシステム識別子を安全に用い得るということを意味する。 著者はまた、特定DTDで検証することが求められる際には特定日付版のHTML 4 DTDを示すシステム識別子を用いてもよい。 W3Cは、特定日付版について、原形式のまま原アドレスで無期限に得られるよう、あらゆる努力を払う。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.2 )]より  などあちこちに、 ★すなわち  Document Typeは、あくまで、そのHTMLがどのルールによってかかれているかを宣言するもので、その宣言とそれによって許される要素名・属性などについては、将来的に表示が保証されるという意味です。  DOCTYPEを書け!書かなければならないのは、この保証を担保するためです。  DOCTYPEが書かれていて、それに適合するように書きなさいとは、そういう意味です。  一方でブラウザには、適合していなくても、可能な限り表示を努力することが求められていますが、義務ではない。   と考えれば、すべての質問に対する答えはお分かりですよね。・・・そのように、仕様書に書いてある。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

本来、DOCTYPEとの不一致などは、文法誤りのエラーとして、一切の表示しなくてもかまわないものでしょう。 ただ、現状は、そんな間違ったものがとても多い上、表示できないとブラウザの方が悪い、と逆に攻められかねない状態です。 そのため、現在はブラウザ側でできるかぎる対応して「ただしい」表示ができるようになっています。 廃止されたタグも新規タグも、対応しているならDOCTYPEを無視して表示しようとします。 以上から原状は 1.理想はYesだが、実際はNo(無視しない) 2.Yesだが、実際は使える 3.理想はYesだが、実際はNo(無視されない) 4.Yes。ただし、「HTML4以上専用」とかでない限り、最新版のブラウザでも旧規格には対応している。 5. 4と同じ理由Yes. 6.Yes 7. 最初に書いた通り、DOCTYPEより実際に使用されているタグを優先しているから。

関連するQ&A

  • <!DOCTYPE html>について

    html4.01のファイルの最初に<!DOCTYPE html>と記述している サイト・参考書を見かけるのですが、 これは、何を意味しているのでしょうか? 私は、いつも以下のように記述しています。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">(strict使用宣言) 省略した形<!DOCTYPE html>で記述すると、このHTML4.01では どのルール(Strict?Transitiona?Frameset)が適用されるのでしょうか? ご教授 よろしくお願いします。

    • ベストアンサー
    • HTML
  • strictなのにfontタグが活きてる?

    今まで非推奨要素や属性を使いまくっていたのですが、それを止めようと思いスタイルシート等に修正しました。 作業中はTransitionalのまま少しずつ修正しては確認を繰り返し、最後にDOCTYPEをstrictに変更したところ、きちんと表示されたのでOKだと思っていました。 ところが、もう一度見直すと1箇所だけ<font size="+2">が残っていました。しかし、IE6はstrictのはずなのにこの箇所の文字を大きく表示しています(この場所はスタイルシートによるサイズ指定はかかっていません)。 strictでも非推奨要素や属性は有効のままなのでしょうか? ブラウザはIE6SP2、DOCTYPE宣言は <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> です。 margin:auto;でブロック要素がセンタリングされているので、標準モードで動作している、DOCTYPE宣言に間違いはないと思うのですが・・・

    • ベストアンサー
    • HTML
  • DOCTYPE は何で宣言すればいいのか

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

    • ベストアンサー
    • HTML
  • HTML4.01について。

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

  • html 「DOCTYPE記述」について

    こんにちは。 タイトルの件ですが html4.01 Transitionalで宣言する場合、 <1> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> のように記述しますね。 上記に「http://www.w3.org/TR/html4/loose.dtd」を付け加えて <2> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">とも書きますね。 <1>と<2>差異は何でしょうか? <1>はスタンダードモード、<2>は互換モードであるとは理解していますが、そうだとすれば、<2>はStrictで宣言した場合と同じ結果になるのでしょうか? 詳しい方、教えていただけますか。 どうぞ宜しくお願いします。

    • ベストアンサー
    • HTML
  • DOCTYPE 宣言

    最初のHTMLの宣言の各部分の意味を教えてください。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 最初のDOCTYPEはタグだということはわかるのですが それ以外、例えばPUBLICや『-』や『//』DTD,EN、最後のURLなどの意味がわからないです。

    • ベストアンサー
    • HTML
  • DOCTYPE宣言によりmarginがきかない

    いつもお世話になります。 やりたいことは、divタグの領域を左右に同じ幅のマージンとなるようにしたいのですが、DOCTYPE宣言を入れたのと入れていないので、マージンが正常に働いてくれません。 例えば以下のコードがあったとします。 <html> <head> </head> <body> <div style="width: 100%; padding 5px; margin: 10px 20px; border: solid 2px black;">aaaaa</div> </body> </html> これをIE8で開いてみると、左右20pxでマージンをとってくれます。これに、 <?xml version="1.0" encoding="windows-31j" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> ・・・(省略)・・・ を追加して開いてみると、左はマージンをとっているのですが、右は端っこまでいってしまいます。 自分なりに調べてみて、DOCTYPE宣言により、標準準拠モードと後方互換モードがある、ということを知ったのですが、ではどうすれば標準準拠モードで正しくマージンを取ることができるのか、というところまで見つけれませんでした。 どうすれば正しくマージンを取ることができるのでしょうか。 宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • システム識別子省略すると?

    システム識別子省略するとどのような変化がありますでしょうか? (1) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> (2) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> (1)が省略したものですがブラウザの表示方法が異なるそうなのですが どのような変化があるのでしょうか? また無難なのは省略しないほうがいいのでしょうか? こうゆう場合は(1)がいい、こうゆうケースが(2)が適切など そういった事もあれば教えてください

  • H1タグの色を変えたい。

    H1タグの色をCSSで変更したいのですが、上手くいきません。 どこの設定を間違えているのでしょうか? 大変申し訳ございません。ご教授よろしくお願いいたします。 以下にソースを記述します。 /*--- HTMLソース ---*/ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <link rel="stylesheet" href="index.css" type="text/css"> <title>H1タグ色変更</title> </head> <body> <h1>大見出し</h1> </body> </html> /*--- CSSソース(外部ファイル:index.cssとする) ---*/ @charset "utf-8" h1 {color: #0000ff;}

    • ベストアンサー
    • CSS
  • インターネットで検索できるようにするためのタグの記述について、何点かお伺いします。

    インターネットで検索できるようにするためのタグの記述について、何点かお伺いします。 1.<meta name="robots" content="index,follow"> というのは記述した方が良いですか?あるのとないのでは大差はありますか? 2.<meta name="description" content="・・・・・"> キーワードは多ければ多いほど良いのでしょうか?記述するのに注意点はありますか? 某サイトに、「HEADエレメント内のMETAタグのキーワードの記述は、1行で記述されていないと、ロボット型サーチエンジン誤動作の原因になります。」 となっていました。そうなんでしょうか? 3.キーワード等の記述はトップページだけでなく、各ページに記述した方が良いのでしょうか? 例 下記のものを全ページに記述 <title>・・・</title> <meta name="author" content="・・・"> <meta name="description" content="・・・"> <meta name="keywords" ・・・"> <meta name="robots" content="index,follow"> 4.<!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

専門家に質問してみよう