- DOCTYPEとは何ですか?なぜそれを使用したいのですか?
- 使用できるさまざまなDOCTYPEは何ですか?
- 標準モードとクァークモードの違いは何ですか?また、異なる設定のDOCTYPEで遭遇する可能性のあるクァークは何ですか?
最後に、使用する必要がある適切なDOCTYPEは何ですか?
基本的に、DOCTYPEはページで使用されるHTMLを記述します。
ブラウザは、DOCTYPEを使用して、ページのレンダリング方法も決定します。DOCTYPEを含めない、または誤ったDOCTYPEを含めると、クァークズモードがトリガーされる可能性があります。
ここでのキッカーは、Internet ExplorerのクァークズモードがFirefox(および他のブラウザ)のクァークズモードとはまったく異なることです。つまり、標準モードでレンダリングされる場合よりも、クァークモードがトリガーされた場合に、ページがすべてのブラウザーで一貫してレンダリングされるようにすることで、はるかに困難な作業が発生します。
ウィキペディアには、さまざまなDOCTYPEを使用した場合のレンダリングの違いに関するより詳細な要約があります。XHTMLは特定のDOCTYPEによって有効にされており、XHTMLで十分にカバーされているXHTMLの使用についてはかなりの議論があります—神話と現実。
<!DOCTYPE html>
HTML5 DOCTYPE( HTML5より前は、古いブラウザでは標準化されたレンダリングをトリガーしない「スキニーdoctype」としてのみ知られています)などのさまざまな「標準準拠」レンダリングDOCTYPEと、このような他のDOCTYPEの間には微妙な違いがあります。 HTML 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、およびフレームセットにはいくつかの異なる DOCTYPE があり、それぞれに Strict と Transitional の 2 つのモードがあります。Strict は、マークアップが定義された標準を正確に使用していることを示しています。詳細については、 W3C DTDページを参照してください。
Quirksmode は基本的に、標準があまり尊重されず、定義されていなかったブラウザー戦争時代のレイアウト方法です。通常、有効な標準モードのページは、さまざまなブラウザー間でより一貫してレイアウトされますが、必要な特定の機能が欠けている場合があります。そのような機能の 1 つが、アンカー タグの target 属性です。Quirksmodeサイトは、これらの違いに関する優れたリソースです。
最後に、新しい HTML5 標準では非常に単純な DOCTYPE の使用が提案されていると考えています。
<!DOCTYPE html>
この DOCTYPE を使用することは、ページが標準モードであり、HTML であることを指定する前方互換性のある方法です。これは Google が使用する方法であり、比較的覚えやすい方法です。XHTML を使用する予定がない場合は、この DOCTYPE を使用することをお勧めします。
Doctypeは、ドキュメントが使用するHTML/XHTMLのバージョンを定義します。バリデーターを介してコードを実行するときに、バリデーターがチェックするHTML / XHTMLのバージョンを認識できるように、Doctypeを使用することをお勧めします。このページでは、概要を説明します。
使用できる一般的なDoctypeは次のとおりです。
どのDoctypeを使用するかは、使用しているコードによって異なりますが、アイデアを得るには、W3Cバリデーターを介してコードを実行し、[その他のオプション]メニューの[ドキュメントタイプ]ドロップダウンメニューを使用して、さまざまなDoctypeを試してください。 。
doctype は、xhtml に似たドキュメントのコンテンツが (Web ページのように) どのように見えるかを説明するドキュメントです。注: これは、上記のページの構文のみを定義します。ページのレンダリングは DTD によって定義されません!
たとえば、doctype は<table>
-tag がどのように見えるかを定義できます - タグが受け入れる属性、および各属性で受け入れられる値/値の型。現在の Web ページのレキシコンと考えてください。
ウィキペディアには、一般的に使用されているさまざまな Doctype に関する有益なページがあります。心に留めておいてください - 独自の Doctype を作成することを妨げるものは何もありません。ただし、ブラウザがドキュメントをレンダリングする方法を認識していない可能性があります。
どの DTD を使用するかは、何を作成するかによって異なります。たとえば、XHTML には HTML とはまったく異なる DTD があります。
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 を使用する必要があります。
Doctypes に関するブログ エントリはFix Your Site With the Right DOCTYPE! です。(A List Apartより)。
Webでは、Doctypeは、標準、ほぼ標準、またはクァークズモードが必要かどうかをブラウザに通知するだけです。
クァークズモードで何が変わるかはブラウザによって異なります。Firefox、Opera、Safari、Chromeは、<table><tr><td><img></td></tr></table>
(解決策:)のようなコードでテキストディセンダーのスペースを削除するなど、限られたクァークズセットを実装していますtd img { vertical-align:bottom; }
。一方、IEはIE5.5のレンダリングエンジンに戻ります。つまり、2000年以降に実装された新機能は使用できなくなります。
<doctype html>
標準モードをトリガーするには、覚えるのが最も簡単なHTML5Doctypeを使用することをお勧めします。
まず第一に、使用すべき doctype はありませんが、ほとんどのデザイナーは XHTML 1.0 Strict 内で動作するようにしようとします。
doctype は、html 内で使用できるタグの宣言にすぎません (ただし、ブラウザーは定義されているものよりも多くまたは少なく使用できます)。実際に doctype ファイルを開いて読み取りを開始できます ( XHTML 1.0 Strict ) 。
doctype を指定しない場合、ブラウザは最善を尽くして推測しようとしますが、常に正しいタイプにヒットするとは限りません。
Quirks モードは、ブラウザーが後方互換性を維持するために使用する手法にすぎません。IE がボックスをレンダリングする方法は、Quirks モードの良い例です。