一部のWebページは標準に従って作成されていますが、そうでないものもたくさんあります。標準に従うWebページを作成できなくても、ブラウザにそれらのページを標準に従って正しく表示する必要があります。現在、多数のWebページには多くの標準以外のコードが満たされており、それでも適切に機能しています。実際、古いブラウザ向けに設計されたほとんどのコードは、新しいブラウザに正しく表示されます(ただし、レンダリング方法に違いがある場合があります)。これの理由は何ですか?実際、最新の基準に厳密に従うことで、それらのページの生存基準が完全に損なわれます。これは、違いを生み出したいブラウザにとっては確かに受け入れられません。
ブラウザレンダリングモード
最新のブラウザには、古いブラウザ向けに設計された標準とWebページに従う両方のWebページをサポートすることを目的とした、さまざまなレンダリングモードが含まれます。その中で、標準モード(つまり、厳密なプレゼンテーションモード)を使用して最新の標準に従うWebページを提示しますが、Quirksモード(つまり、ルーズプレゼンテーションモードまたは互換性モード)は、従来のブラウザ向けに設計されたWebページを提示するために使用されます。また、Mozilla/Netscape 6には、標準の古いバージョン向けに設計されたWebページをサポートするためのほぼ標準モードが追加されていることに注意してください。
Doctypeスイッチとは何ですか?
Webページの上部にあるDoctype宣言は、ブラウザを正しいレンダリングモードにするための鍵です。ブラウザは自動的に適切なレンダリングモードに切り替えて、Doctype宣言によって指定されたドキュメントタイプを正しく表示します。
理論的には、これは非常に直感的なスイッチでなければなりません。 Doctypeは、現在のWebページが標準に準拠しているドキュメント(つまり、HTML 4+またはXHTML 1+)であることを指摘する場合、ブラウザは標準モードに切り替えます。 Doctypeが指定されていない場合、またはHTML 3.2以上のバージョンが指定されている場合、ブラウザはQuirksモードに切り替わります。このようにして、ブラウザは、標準と一致しない昔ながらのWebページを完全に放棄することなく、標準に従うドキュメントを正しく表示することができます。
Doctypeの切り替えの問題
ただし、Doctypeの切り替えは不完全なソリューションです。 WebドキュメントでDoctype宣言を使用している場合でも、ブラウザはWebページを表示するレンダリングモードを取得できない場合があります。間違った形式のDoctypeや、xhtml Webページを含む<?xmlバージョン= 1.0 encoding = utf-8?>)の異なる始まりなど、多くの理由があります。ただし、IE、Opera、およびSafariの古いバージョン、および古いバージョンはすべて、ドキュメントの最初の行をDoctype宣言にしたいと考えています。したがって、その前に他に何か(XML Prologを含む)がある場合、Doctypeは認識されません。したがって、XML Prologの存在は、IE、Opera、およびSafariをQuirksモードにもたらします。 XML Prologは必須ではないため、XHTML Webページで安全に省略できます。注:XML Prologの欠落しているエンコード属性を補うために、HTTP-Equiv Metaタグにcharset属性を含めてください。
URLまたは相対URLがありません:
完全なDoctype宣言には、対応するドキュメントタイプ定義(DTD)ファイルのURLを含めます。 URLが失われた場合、または指定されている場合、(完全に適格なインターネットアドレスではなく)相対パス(完全に適格なインターネットアドレス)で、ほとんどのブラウザーは、Doctype宣言によって指定されたモードに関係なく、Quirksモードに入ります。
間違った形式のDoctype:
ブラウザは、Doctype宣言のフォームと形式に非常に敏感であり、Doctypeの間違ったフォームを認識できない場合、Quirksモードを強制します(このため、既知の正しいDoctypeをコピーしてドキュメントに直接入力するのではなく貼り付けることをお勧めします)。フォームエラーDoctypeの一般的な理由は、Doctypeの最初の部分とURLの間にスペースが欠落していることです。 Doctypeを2本の線に分割したDoctypeを単一の線に分割すると、そのスペースはしばしば失われます。
移行期間doctype:
ブラウザが遷移期間のDoctypeを処理すると、一貫性のない問題が発生する可能性が最も高くなります。 IEとオペラは標準モードを使用します。 Netscape 6およびSafariの古いバージョンは、Quirksモードを使用します。 Netscape 7、Mozilla 1およびSafariの新しいバージョンは、Netscapeのほぼ標準モードを使用します。
不明なdoctype:
また、ブラウザが認識されていないDoctypesを処理する場合、矛盾もあります。 IEとOperaは標準モードに入ります。言い換えれば、認識されていないDoctypeは、ブラウザに統合されていない新しい標準であると想定しています。それどころか、Netscape 6は、認識されていないDoctypesに遭遇すると、Quirksモードに切り替わります。
Doctypeの切り替えは、さまざまなブラウザの矛盾に気付き、さまざまな問題を積極的に回避できる場合、ブラウザが正しいレンダリングモードに入り、Webページを正しく表示する効果的な手段かもしれません。
2。正しいDoctype宣言を使用しますページを作成するときにこれを無視する場合があります(私を含む、私は通常、ブラウザのデフォルトを書いて使用しないのが面倒です)。 Webページエンコーディングの標準化のための現在の流行が到着すると、誰もがこの詳細を理解する必要があります。 sayingにもあるように、ルールのない順序はありません。
ほとんどのWebドキュメントにはDoctype宣言が上位にありますが、多くの人はそれに注意を払っていません。これは、新しいドキュメントを作成するときにWeb Autheringソフトウェアによってずさんなものである多くの詳細の1つです。 Doctypeは多くの人に見落とされていますが、標準に従うすべてのWebドキュメントの必要な要素です。 Doctypeはコード検証に影響を与え、ブラウザが最終的にWebドキュメントを表示する方法を決定します。
Doctypeの役割
Doctypeステートメントは、ドキュメント内のタグを解釈するために読者が使用するルールセットを指摘しています。 Webドキュメントの場合、読書プログラムは通常、ブラウザや検証デバイスなどのプログラムであり、ルールはW3Cが公開したドキュメントタイプ定義(DTD)に含まれるルールです。
各DTDには、Webドキュメントのコンテンツをマークするために使用される一連のタグ、属性、およびプロパティが含まれています。また、他のタグに表示できるタグを指定するルールも含まれています。各Web-Suggested標準(HTML 4フレームセットやXHTML 1.0 Transitionalなど)には、独自のDTDがあります。ドキュメントのタグがDoctype宣言によって指定されたDTDに従わない場合、ドキュメントは、コードの確認を渡さないことに加えて、ブラウザに正しく表示されない場合があります。ブラウザは、一貫性のないマークアップの問題について検証装置よりも寛容です。ただし、Doctype宣言が誤っていることが多いことが多く、Webページが誤って表示されるか、まったく表示されないようになります。
正しいDoctypeを選択します
正しいDoctype宣言を取得するために、重要なのは、DTDをドキュメントが次の標準に対応させることです。たとえば、ドキュメントがXHTML 1.0の厳密な標準に従うと仮定すると、ドキュメントのDoctype宣言は、対応するDTDを参照する必要があります。一方、Doctype宣言がXHTML DTDを指定している場合は不適切ですが、ドキュメントには古いスタイルのHTMLタグが含まれています。同様に、Doctype宣言がHTML DTDを指定しているが、ドキュメントにはXHTML 1.0 Strictタグが含まれている場合も不適切です。
時には、Doctype宣言をまったく使用できない場合があります。有効なDoctype宣言が指定されていない場合、ほとんどのブラウザは組み込みのデフォルトDTDを使用します。この場合、ブラウザは内蔵DTDを使用して、指定したタグを表示しようとします。一時的な急いでいるドキュメントの一部(それらの多くがあります)については、Doctype宣言を省略し、ブラウザのデフォルトディスプレイを受け入れることを検討できます。
Doctype宣言をゼロから書いて、選択したDTDを指すことは完全に可能です。ただし、ほとんどのWebドキュメントは、W3Cが発行する国際的に認識されているWeb標準に従う必要があるため、これらのドキュメントには通常、次の標準Doctype宣言のいずれかが含まれています。
html 2:<!doctype html public -// ietf // dtd html 2.0 // en>
HTML 3.2:<!Doctype HTML public - // w3c // dtd html 3.2 final // en>
HTML 4.01 Strict:<!Doctype HTML public -// w3c // dtd html 4.01 // en http://www.w3.org/tr/html4/strict.dtd>
HTML 4.01トランジショナル:<
HTML 4.01フレームセット:<!Doctype HTML public -// w3c // dtd html 4.01フレームセット// en http://www.w3.org/tr/html4/frameset.dtd>
XHTML 1.0 Strict:<!Doctype HTML public -// W3c // dtd xhtml 1.0 strict // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd>
XHTML 1.0トランジション:<
XHTML 1.0フレームセット:<!Doctype HTML public -// w3c // dtd xhtml 1.0フレームセット// en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dd>
XHTML 1.1:<
XHTML 1.1 Plus Mathml Plus SVG:<!Doctype HTML public - // W3c // DTD XHTML 1.1 Plus Mathml 2.0 Plus SVG 1.1 // en http://www.w3.org/2002/04/xhtml-math-svg/xhl-math-svg.dtd
上記のDoctype宣言に加えて、特別な要件を備えたいくつかの文書は、他のいくつかの宣言を使用しています。
Doctype宣言は通常、<HTML>タグやその他のドキュメントコンテンツの前のドキュメントの最初の行です。 XHTMLドキュメントでは、XML処理命令(XML Prologとも呼ばれます)がDoctypeの前に時々表示されることに注意してください。
Webページが正しく表示され、検証をスムーズに渡すことを確認するには、正しいDoctypeを使用することが重要です。反対の、形式が正しくない、または間違っているDoctypesは、多数の問題の犯人です。
WebページをDWで設計するときは、新しいファイルを作成し、コードの前面に常に何かがあることを確認してください。
<!doctype html public - // w3c // dtd html 4.01 transitional // en http://www.w3.org/tr/html4/loose.dtd>これは、DTD情報をWebページファイルページに自動的に追加するDWです。削除後、ブラウザはデフォルトのDTDを使用します。
3.どのようなDoctypeを選択できます
基準を満たすサイトの作成を開始すると、最初に行うことは、ニーズを満たすDoctypeを宣言することです。
このページの元のコードを確認すると、最初の行は次のことがわかります。
有名なWebデザインソフトウェア開発者MacRomediaやDesign Master Zeldmanの個人Webサイトなど、標準を満たすいくつかのサイトを開くと、同じコードがあります。標準を満たす他のサイト(K10K.NETなど)のコードは次のとおりです。
<!doctype html public -// w3c // dtd xhtml 1.0フレームセット// en http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd> leadtd> http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd> br>。完全なコードは次のとおりです。
<!doctype html public -// w3c // dtd xhtml 1.0 transitional // en http://www.w3.org/tr/xhtml1/dtd/xhtml1-sttrict.dtd> http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
どのようなDoctypeを選択する必要がありますか
理想的な状況はもちろん厳格なDTDですが、Web標準に慣れたほとんどのデザイナーにとって、Transition DTD(XHTML 1.0 Transitional)が現在理想的な選択です(このサイトを含む、トランジショナルDTDも使用)。このDTDは、プレゼンテーションレイヤーのID、要素、属性を使用することもできるため、W3Cコード検証に渡すことも簡単です。注:上記のプレゼンテーションレイヤーのロゴと属性は、版画、バックグラウンドカラーマークなどのテーブルなど、パフォーマンスを制御するために純粋に使用されるタグを指します。XHTMLでは、アイデンティティは式を実装するのではなく構造を表すために使用されます。私たちの移行は、最終的にデータと表現を分離することです。
例:ヌードモデルが衣服を変更します。モデルはデータのようなもので、衣服は形で現れ、モデルと衣服は分離されているため、自由に衣服を交換できます。 HTML4では、データとパフォーマンスが混合されていることがわかり、一度に式フォームを変更することは非常に困難です。ハハ、それは少し抽象的であり、申請プロセス中にこの概念を徐々に理解する必要があります。
補充します
Doctype宣言は、すべてのコードとアイデンティティよりも、すべてのXHTMLドキュメントの上部に配置する必要があります。
4.これは、公式がDoctype HTML Publicを定義する方法です!doctype
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------)
HTMLドキュメントが続くドキュメントタイプ定義(DTD)を指定します。
マイクロソフトは初めてですか?インターネットエクスプローラー6。このステートメントを使用して、インターネットエクスプローラー6を標準互換モードに切り替えることができます。
文法
HTMLトップレベルの要素の可用性登録//組織//タイプタグ//定義言語URL
考えられる値
トップレベルの要素:DTDで宣言されたトップレベルの要素タイプを指定します。これは、宣言されたSGMLドキュメントタイプに対応します。 HTMLデフォルト。 HTML。
可用性:公式の公開識別子(FPI)が公開されているオブジェクトまたはシステムリソースであるかどうかを指定します。パブリックデフォルト。公開されたオブジェクト。ローカルファイルやURLなどのシステムシステムリソース。
登録:組織が国際標準化機関(ISO)によって登録されているかどうかを指定します。 +デフォルト。登録されている組織名。 - 登録されていない組織名。インターネットエンジニアリングタスクフォース(IETF)とWorld Wide Web Association(W3C)は、登録されたISO組織ではありません。
組織:!Doctype宣言、つまりOwnDeridによって参照されるDTDの作成とメンテナンスを示すグループまたは組織の名前を指定します。 IETF IETF。 W3C W3C。
タイプ:パブリックテキストクラス、つまり参照されるオブジェクトのタイプを指定します。 DTDデフォルト。 DTD。
タグ:パブリックテキストの説明、つまり引用されたパブリックテキストのユニークな記述名を指定します。バージョン番号は後で含めることができます。 HTMLデフォルト。 HTML。
定義:ドキュメントタイプの定義を指定します。フレームセットフレームセットドキュメント。 Strictは、W3Cの専門家が段階的に廃止したいすべての代表的な属性と要素を除外します。スタイルシートはすでに完璧であるためです。 Transitionalには、フレームセット要素を除くすべての内容が含まれます。
言語:パブリックテキスト言語、つまり、参照されるオブジェクトの作成に使用される自然言語エンコードシステムを指定します。言語定義は、ISO 639言語コード(Capital 2文字)として記述されています。 enデフォルト。英語。
URL:参照されるオブジェクトの場所を指定します。
コメント
この宣言は、HTMLタグの前にドキュメントの冒頭に表示する必要があります。
!Doctype要素は、タグを閉じる必要はありません。
この要素は、MicrosoftのHTMLで利用できますか?インターネットエクスプローラー3.0。
この宣言を使用して、インターネットエクスプローラー6以降の厳格な標準互換モードに切り替えることができます。このスイッチをオンにするには、ドキュメントの上部に!doctype宣言を含めて、宣言の法的タグを指定します。場合によっては、定義および/またはURLも必要です。
標準互換性モードでは、Internet Explorerの他のバージョンとの互換性を保証することはできません。標準の互換モードがオンになっている場合、ドキュメントのレンダリング動作は、将来のインターネットエクスプローラーのレンダリング動作とは異なる場合があります。コンテンツが元々固定されている場合(CDで焼かれたなど)、このモードを使用しないでください。
例
次の例は、使用方法を示しています!Doctype宣言は、ドキュメントが準拠しているDTDを指定し、インターネットエクスプローラー6を標準互換モードに切り替えます。次の例の宣言は、HTML 4.0 DTDコンプライアンスを指定しています。 2番目の宣言は厳格です。最初の宣言は指定されていません。両方のステートメントでは、インターネットエクスプローラー6を標準互換モードに切り替えます。
<!doctype html public - // w3c // dtd html 4.0 // en>
<!doctype html public -// w3c // dtd html 4.0 strict // en>
次の例の宣言は、TransitionalHTML 4.0のDTDコンプライアンスを指定しています。 2番目の宣言は、DTDのURLを指定します。最初の宣言は指定されていません。 2番目のステートメントでは、インターネットエクスプローラー6を標準互換モードに切り替えます。最初の声明はそうではありません。
<!doctype html public - // w3c // dtd html 4.0 transitional // en>
<!doctype html public - // w3c // dtd html 4.0 transitional // en
http://www.w3.org/tr/html4/loose.dtd>