質問
- DOCTYPEとは何ですか?なぜ使用したいのですか?
- 使用できるDOCTYPEは何ですか?
- 標準モードと互換モードの違いは何ですか?また、DOCTYPEの設定が異なると遭遇する可能性のあるいくつかの互換性は何ですか?
最後に、使用する適切なDOCTYPEは何ですか?
解決
基本的に、DOCTYPEはページで使用されるHTMLを記述します。
ブラウザもDOCTYPEを使用して、ページのレンダリング方法を決定します。 DOCTYPEを含めない、または誤ったDOCTYPEを含めると、奇癖モードがトリガーされる可能性があります。ここでのキッカーは、Internet ExplorerのQuirksモードがFirefox(および他のブラウザー)のQuirksモードとはまったく異なることです。つまり、すべてのページで一貫して動作するようにしようとすると、ページが標準モードでレンダリングされる場合よりも、ページが互換モードでレンダリングされる場合はブラウザ。
Wikipediaには、さまざまなDOCTYPEを使用した場合のレンダリングの違いについてのより詳細な要約があります。 XHTMLは特定のdoctypeによって有効になります。XHTMLの使用については、 XHTML <!>#8201; <!>#8212; <!>#8201;神話と現実。
異なる<!> quot;標準の不満<!> quotには微妙な違いがあります。 HTML5 doctype(<!DOCTYPE html>
、<!> quot; skinny doctype <!> quotとしてのみ知られるHTML5より前;古いブラウザで標準化されたレンダリングをトリガーしない)などのdoctypeのレンダリング、およびHTML用のこのようなDOCTYPE 4.01暫定:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
他のヒント
DOCTYPEは、使用しているユーザーエージェント(Webブラウザー、Webクローラー、検証ツール)にファイルの種類を通知します。これを使用すると、コンシューマーが意図したとおりにHTMLを正しく解析することが保証されます。
HTML、XHTML、およびフレームセットにはいくつかの異なるDOCTYPESがあり、それぞれに2つのモードStrictおよびTransitionalがあります。 Strictは、マークアップが定義された標準を正確に使用していると言います。詳細については、 W3C DTD ページをご覧ください。
Quirksmodeは基本的に、標準があまり尊重されず定義されていないブラウザ戦争時代のレイアウト方法です。一般に、有効な標準モードページは、さまざまなブラウザでより一貫してレイアウトされますが、必要な特定の機能が欠けている場合があります。そのような機能の1つは、アンカータグのターゲット属性です。 Quirksmode サイトは、これらの違いに対する優れたリソースです。
最後に考えたのは、新しいHTML5標準では非常に単純なDOCTYPEの使用が提案されているということです:
<!DOCTYPE html>
このDOCTYPEの使用は、ページが標準モードであり、HTMLであることを指定するための上位互換性のある方法です。これはGoogleが使用する方法であり、覚えやすいものです。 XHTMLを使用する予定がない限り、このDOCTYPEを使用することをお勧めします。
Doctypeは、ドキュメントが使用するHTML / XHTMLのバージョンを定義します。バリデーターを介してコードを実行するときに、バリデーターがチェックするHTML / XHTMLのバージョンを認識するように、Doctypeを使用する必要があります。このページでは概要を説明しています。
使用できる一般的なdoctypeは次のとおりです。
どのdoctypeを使用するかは、使用しているコードによって異なりますが、アイデアを得るには、W3Cバリデーターを使用してコードを実行し、ドキュメントタイプドロップダウンメニューを使用してください<!> quot;その他のオプション<!> quot;さまざまなDoctypeを試してみるメニュー。
Webページで使用されるHTML(XHTMLを含む)では、DOCTYPEは、DOCTYPEの正確なスペルに応じて、いくつかのブラウザーモード(互換モード、標準モード、ほぼ標準モード)の1つをトリガーする文字列です。これを使用して、ページに最適なブラウザモードを選択します。
正式には、SGMLおよびXMLでは、DOCTYPE宣言はドキュメントタイプ定義(DTD)への参照であり、マークアップ言語の正式な構文規則を指定します。これまでにブラウザでDTDを使用したり、アクセスしたりしたことはありません。ただし、HTML5モードを除き、SGMLおよび W3Cマークアップ検証ツールなどのXMLマークアップ検証ツールで使用されます。したがって、DOCTYPEの選択により、ドキュメントが送信された場合のバリデーターの動作が決まります。ただし、検証の動作モードはユーザーインターフェイスでも選択できます。 (SGMLプロセッサとXMLプロセッサは、他のさまざまな方法でDOCTYPEを使用することもありますが、質問は明らかにHTMLコンテキストとWebブラウザおよび密接に関連するソフトウェアに限定されることを意図しています。)
DOCTYPEの正式なリストはありません。各HTML仕様またはドラフトは、独自のDOCTYPEを定義します。モードの選択時にブラウザによって認識されるDOCTYPEのセットは、ブラウザによって異なります。実際には、<DOCTYPE html>
as以外のDOCTYPEを使用する理由はありません。 HTML5で定義されていますが、HTML5ではいくつかの<!>#8220; legacy DOCTYPEs <!>#8221;もリストされています。標準モード(新しいページに推奨)が必要な場合はそのDOCTYPEを使用し、互換モード(レガシーページに必要な場合があります)が必要な場合はDOCTYPEを使用しません。
<!>#8220;標準モード<!>#8221;一般的に、ブラウザがHTML、CSS、DOM、および他の仕様にできる限り従う動作モードを意味します。通常、完全な適合を意味するものではありません。 <!>#8220; Quirksモード<!>#8221;ブラウザごとに異なりますが、一般的にはIE 5のような非常に古いブラウザの動作を模倣する試みを意味します。目的は、古いブラウザの機能とバグに依存する可能性があるという前提で、古いページを機能させ続けることです。説明を参照してください Quirksモードで何が起こりますか <!>#8220; quirks mode <!>#8221;というかなり異なる概念。 HTML5では、 Quirks Mode Living Standard というドキュメントに非常に似ています。
典型的な問題は、QuirksモードとStandardsモードでは要素の幅が異なって計算されることです。これは、互換モードで動作するように設計されたページが標準モードで表示される場合(またはその逆)に、ページのレイアウトが多少変更されたり、完全に台無しになったりすることを意味します。
したがって、新しいページには<!DOCTYPE html>
を使用し、古いページに使用していたDOCTYPE(ある場合)を保持する必要があります。
ただし、一部のブラウザーでは、互換モードはCSSの多くの新機能がサポートされていないことを意味します。つまり、CSS3機能を使用して古いページを拡張する場合は、標準モードをトリガーするDOCTYPEに切り替える必要があります。このような場合、ページを確認およびテストして、標準モードで実行されるかどうかを確認する必要があります。
Doctypeは、ページが記述されている言語(HTMLまたはXHTML)をブラウザに伝えます。たとえば、
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
ページをHTML4 strict
としてレンダリングするようブラウザに指示します。古いブラウザはページを誤ってレンダリングするために使用されるため、新しいブラウザは古いdoctypeを見つけたときに古いブラウザのエラーをシミュレートします。
今日は、少なくともHTML4以上のXHTMLを使用する必要があります。
Doctypeに関するブログエントリは、 正しいDOCTYPEでサイトを修正する ( A List Apart から)。
まず第一に、使用すべきDoctypeはありませんが、ほとんどのデザイナーはXHTML 1.0 Strict内で動作させようとします。
doctypeは、html内で使用できるタグの宣言にすぎません(ただし、ブラウザは定義されたものよりも多くまたは少ないものを使用できます)実際にdoctypeファイルを開いて読み始めることができます( XHTML 1.0 Strict )
Doctypeを指定しない場合、ブラウザは推測するために最善を尽くしますが、常に正しいタイプにヒットするとは限りません。
Quirksモードは、下位互換性を保つためにブラウザーで使用される手法です。Quirksモードの優れた例は、 IEはボックスをレンダリングします
ウェブでは、Doctypeは標準、ほとんど標準、または奇抜モードが必要かどうかをブラウザに伝える以外に何もしません。
Quirksモードの変更内容はブラウザによって異なります。Firefox、Opera、Safari、Chromeは、<table><tr><td><img></td></tr></table>
(ソリューション:td img { vertical-align:bottom; }
)のようなコードでテキストディセンダーのスペースを削除するなど、限定された一連の奇癖を実装します。一方、IEはIE5.5のレンダリングエンジンに戻ります。つまり、2000年以降に実装された新機能の any は使用できなくなります。
標準モードをトリガーするには、覚えやすい最も簡単なHTML5 doctype <doctype html>
を使用することをお勧めします。
Doctypeは、xhtmlのようなドキュメントのコンテンツが(Webページのように)どのように見えるかを記述するドキュメントです。 注:これは当該ページの構文のみを定義し、ページのレンダリングはDTDによって定義されません!
たとえば、Doctypeは<table>
-tagの表示方法-受け入れる属性、および各属性で受け入れられる値/値型を定義できます。現在のWebページの辞書と考えてください。
Wikipedia には、一般的に使用されているさまざまなDoctypeに関する有益なページがあります。気をつけて-あなた自身のDoctypeを作成するのを妨げるものは何もありません。ただし、ブラウザはおそらくドキュメントのレンダリング方法を知らない可能性があります。
使用するDTDは、作成する内容によって異なります。たとえば、XHTMLにはHTMLとはまったく異なるDTDがあります。