1. 概要この記事では、DOCTYPE要素を体系的に説明します。同時に、多くの情報を調べました。インターネット上の情報は乱雑であるため、収集して整理した後、再定義しました。たとえば、DOCTYPE要素の定義は、主に基礎知識と高度な知識に分かれています。基礎知識は、基本的なDOCTYPE知識を説明します。多くの高度な知識はインターネットから来ており、主にいくつかの実用的なアプリケーションスキルです。 II. 定義DOCTYPE は Document Type の略です。<!DOCTYPE> 要素は、ページの文書型定義 (DTD) を宣言するために使用されます。この要素宣言は、ドキュメントの先頭、<html> タグの前に配置されます。ページの DTD を確認することで、そのページがどの W3C 仕様 (HTML 仕様や XHTML 仕様など) を使用しているかを判断することもできます。 3. W3C仕様W3C 仕様の正しい翻訳は W3C 勧告です。多くのデザイナーの目には、W3C が標準です。しかし、多くの人はそれについて少ししか知りません。以下は、現在の W3C 仕様における HTML 仕様と XHTML 仕様です。HTML と XHTML の関係については後で説明します。 W3C HTML仕様とタイムライン
W3C XHTML 仕様とタイムライン
XHTML は最新の HTML 仕様とみなすことができ、HTML 4.01 からスムーズに移行できる XML アプリケーションです。 W3C が HTML 4.01 を XML にリファクタリングする最初のステップとして、XHTML 1.0 が誕生しました。 XHTML 1.0 は、HTML 4.01 タグによって提供されるセマンティクスに依存しています。 4. 仕様とDTDページ ファイルは、<DOCTYPE> 要素を通じてさまざまな DTD を宣言し、現在のページがどの HTML または XHTML 仕様に準拠しているかをブラウザーに伝えます。次に、HTML4.01 および XHTML1.0 に関連する DTD のみを示します。 htmlHTML 4.01 では、Strict、Transitional、Frameset の 3 つのドキュメント タイプが指定されています。 HTML 厳密な DTDプレゼンテーション層の乱雑さを排除した、クリーンなマークアップが必要な場合は、このタイプを使用します。カスケードスタイルシート (CSS) と一緒に使用してください: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " HTML 移行 DTD移行 DTD には、W3C がスタイルシートに移動されることを想定しているプレゼンテーション属性と要素を含めることができます。読者がカスケーディング スタイル シート (CSS) をサポートしていないブラウザーを使用しており、HTML のレンダリング機能を使用する必要がある場合は、このタイプを使用します。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " フレームセット DTDフレームを含むドキュメントには、フレームセット DTD を使用する必要があります。 Frameset DTD は、frameset 要素が body 要素に置き換わる点を除いて、Transitional DTD と同じです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 フレームセット//EN" " テキストXHTML 1.0 では、Strict、Transitional、Frameset の 3 つの XML ドキュメント タイプが指定されています。 XHTML 厳密な DTDプレゼンテーション層の乱雑さを排除した、クリーンなマークアップが必要な場合は、このタイプを使用します。カスケードスタイルシート (CSS) と一緒に使用してください: <!DOCTYPE html XHTML 移行 DTD移行 DTD には、W3C がスタイルシートに移動されることを想定しているプレゼンテーション属性と要素を含めることができます。読者がカスケーディング スタイル シート (CSS) をサポートしていないブラウザーを使用しており、XHTML のレンダリング機能を使用する必要がある場合は、このスタイルを使用します。 <!DOCTYPE html XHTML フレームセット DTDフレームを使用する場合は、この DTD を使用してください。 <!DOCTYPE html 5. DOCTYPE要素の構文文法HTML トップレベル要素の可用性「登録 // 組織 // タイプ タグ // 定義言語」「URL」 構文要素の説明トップレベル要素: DTD で宣言されたトップレベル要素タイプを指定します。これは宣言された SGML ドキュメント タイプに対応します。 デフォルトは HTML です。 可用性: 正式な公開識別子 (FPI) がパブリックにアクセス可能なオブジェクトであるか、システム リソースであるかを指定します。デフォルトでは、値は PUBLIC または SYSTEM.PUBLIC になります。パブリックにアクセス可能なオブジェクトを表します。 SYSTEM は、ローカル ファイルや URL などのシステム リソースを表します。 登録済み: 組織が国際標準化機構 (ISO) に登録されているかどうかを指定します。 + はデフォルトで、組織名が登録されていることを示します。 - 組織名が登録されていないことを示します。 Internet Engineering Task Force (IETF) と World Wide Web Consortium (W3C) は登録された ISO 組織ではありません。 組織: !DOCTYPE 宣言によって参照される DTD の作成と保守を担当するグループまたは組織の名前 (つまり OwnerID) を指定します。 IETFはIETFです。 W3CはW3Cです。 タイプ: パブリック テキスト クラス、つまり参照されるオブジェクトのタイプを指定します。 デフォルトは DTD です。 ラベル: 参照されるパブリック テキストの一意の説明的な名前であるパブリック テキストの説明を指定します。その後にバージョン番号が続く場合があります。デフォルトは HTML です。 定義: ドキュメント タイプ定義を指定します。 フレームセット フレームセット ドキュメント。 Strict では、スタイルシートがすでに確立されているため、W3C の専門家が段階的に廃止したいと考えている一般的な属性と要素がすべて除外されます。 Transitional には、frameSet 要素を除くすべてのコンテンツが含まれます。 言語: 公開テキスト言語、つまり参照オブジェクトの作成に使用される自然言語エンコード システムを指定します。言語定義は ISO 639 言語コード (大文字 2 文字) として記述されます。 EN デフォルト。英語。 URL: 参照オブジェクトの場所を指定します。 6. 検査ツールページ コンテンツが DOCTYPE で宣言された標準を満たしているかどうかを確認する場合は、W3C が提供する検証ツールを使用できます。 http://validator.w3.org/ 7. DOCTYPEスイッチ最新のブラウザには、W3C 標準に準拠した Web ページと古いブラウザ向けに設計された Web ページの両方をサポートすることを目的とした、さまざまなレンダリング モードが含まれています。これらのうち、標準モード (厳密なレンダリング モードとも呼ばれます) は最新の標準に準拠した Web ページをレンダリングするために使用され、Quirks モード (緩いレンダリング モードまたは互換性モードとも呼ばれます) は従来のブラウザー用に設計された Web ページをレンダリングするために使用されます。また、Mozilla/Netscape 6 には、古いバージョンの標準向けに設計されたページをサポートする新しい Almost Standards モードがあることにも注意してください。 理論的には、これはかなり直感的なスイッチになるはずです。ページの <!DOCTYPE> 要素がページが準拠している標準 (XHTML1.0 など) を示している場合、ブラウザは標準モードに切り替わります。 doctype が指定されていない場合、または HTML 3.2 以前が指定されている場合、ブラウザは Quirks モードに切り替わります。これにより、ブラウザは、古い非標準の Web ページを完全に破棄することなく、標準に準拠したドキュメントを正しく表示できるようになります。しかし、次のような状況があります。 1. URL または相対 URL が見つからない完全な doctype 宣言には、対応するドキュメント タイプ定義 (DTD) ファイルの URL が含まれます。 URL が欠落しているか、完全修飾インターネット アドレスではなく相対パスとして指定されている場合、ほとんどのブラウザーは、doctype 宣言で指定されたモードに関係なく、Quirks モードに入ります。 2. 間違ったドキュメントタイプブラウザは doctype 宣言の形式とフォーマットに非常に敏感であり、正しくない形式の doctype を認識できない場合は、Quirks モードに強制的に切り替わります (自分で入力するのではなく、既知の正しい doctype をコピーしてドキュメントに貼り付けることをお勧めします)。不正な doctype の一般的な原因は、doctype の最初の部分と URL の間にスペースがないことです。 2 行の doctype を 1 行にまとめると、そのスペースが失われることがよくあります。 3. 移行文書型ブラウザが移行的な doctype を処理するときに、不整合が発生する可能性が最も高くなります。 IE と Opera は標準モードを使用します。Netscape 6 および Safari の以前のバージョンは Quirks モードを使用します。Netscape 7、Mozilla 1、および Safari の新しいバージョンは、標準モードのよりフォールト トレラントなバージョンである Netscape の Almost Standards モードを使用します。 4. 不明なドキュメントタイプブラウザは、認識できない doctype を処理する方法にも一貫性がありません。 IE と Opera は標準モードになります。つまり、認識されない doctype は、まだブラウザに統合されていない新しい標準であると想定します。一方、Netscape 6 は、認識されない doctype に遭遇すると Quirks モードに切り替わります。 ブラウザー間の不一致を認識し、問題を事前に回避していれば、doctype を切り替えることは、ブラウザーを正しいレンダリング モードに設定し、Web ページを正しく表示するための効果的な方法になります。 8. XHTML の使用に関するヒント1. 上記の DOCTYPE 宣言の直後には、拡張された <html> 要素内に配置された XHTML 名前空間宣言が次のように記述されます。 <html xmlns="http://www.w3.org/1999/xhtml"> 2. XHTML 1.0 ページは有効な XML ドキュメントであり、XML ではタグと属性の大文字と小文字が区別されるため、簡潔にするために、XHTML 1.0 ページ内のすべてのタグと属性は小文字にする必要があります。 HTML Tidy (http://tidy.sourceforge.net/) などの無料ツールを使用すると、タグや属性を自動的に小文字に変換できます。 3. <head> 要素に <meta> 要素を追加して、ページで使用する言語を宣言します。 <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=gbk" /> 4. XHTML では、すべての属性を引用符で囲む必要があります。 HTML Tidy (http://tidy.sourceforge.net/) などの無料ツールを使用すると、すべての属性に引用符を自動的に追加できます。 5. XHTML では、すべての属性に値が必要です。 HTML 4.0 のように記述することはできません。 <input type="checkbox" name="shirt" value="medium" チェック済み> 代わりに、次のように書きます。 <input type="checkbox" name="shirt" value="medium" selected="checked" /> 6. XHTML では、すべてのタグを閉じる必要があります。 タグを閉じる方法は 2 つあります。コンテンツを含むタグは終了タグで閉じられ、空のタグは末尾にスペースと「/」を付けて閉じられます。例えば: <p>これは許容される HTML であり、有効な XHTML でもあります。</p> <img src="logo.gif" /> 7. コメントでは「--」を使用しないでください。 「--」は XHTML コメントの先頭と末尾にのみ使用でき、コメント本文内には使用できません。以下の行為は許可されません。 <!-- 無効です -- 以下の従来の「セパレータ」も同様です --> <!------------------------------------> 8. すべての特殊記号を HTML でエンコードします。 W3C の XHTML/CSS/DOM 仕様は、完全かつ厳密なシステムを形成します。私は、これら 3 つの仕様を Web の世界における「三位一体の具現化」と呼んでいます。これら 3 つの仕様は、Web ページの構造、表示、および動作を表します。 Web ページを厳密にこの 3 つのレイヤーに分割し、各レイヤーのコンテンツを可能な限り独立させることで、ページの再利用性とモジュール性が向上し、ページの作成、保守、変更にかかるコストが大幅に削減されます。上記の階層的な目標を達成するには、記述する XHTML に構造に関連するタグ (要素と属性) のみを含める必要があります。したがって、Strict 型の DTD の使用に慣れ、プレゼンテーション的な意味を持つタグをできるだけ早く放棄する必要があります (これらのタグは HTML 4.0 仕様で非推奨としてマークされており、XHTML の以降のバージョンでは完全に放棄されます)。また、テーブルベースのレイアウトという古い方法をできるだけ早く放棄し、完全な CSS レイアウトを採用する必要があります。 9. XHTMLに関する推奨書籍Chuck Musciano と Bill Kennedy による HTML と XHTML の決定版ガイド。 Chelsea Valentine と Chris Minnick による XHTML チュートリアル。 Jeffrey Zeldman 著「Web サイトのリファクタリング」 |
<<: MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション
目次1. 需要2. 効果3. すべてのコード1. 需要ユーザーが自分でテーブルを構成できるようになり...
今日、3年生から質問がありました。彼が書いた HTML コードを開くと、文字化けした文字が表示されま...
この記事では、参考までにMySQL 8.0.19 winx64のインストールチュートリアルを紹介しま...
この記事の例では、Vueプロジェクトでのトークン検証ログインの具体的なコードを参考までに共有していま...
目次1. FastDFS の概要1. はじめに2. FastDFSストレージ戦略3. FastDFS...
目次序文1. セレンとは何ですか? 2. 使用手順1. ライブラリをインポートする2. テストコード...
Mysql が CPU を占有しすぎる場合、どこから最適化を開始すればよいでしょうか? CPU 使...
目次1. システム情報2. シャットダウン(システムのシャットダウン、再起動、ログアウト) 3. フ...
まず、私の日常生活についてお話しします。MySQLの急速なアップデートにより、MySQLはバージョン...
さらに興味深いコンテンツについては、https://github.com/abc-club/free...
目次1. クエリ結果を挿入する2. 集計クエリ2.1 はじめに2.2 集計関数2.3 group b...
1. 要素時間選択提出フォーマット変換例えば 2018年9月7日金曜日 00:00:00 GMT+0...
まず、nginx コンテナ内の構造:コンテナを入力します: docker exec -it b511...
<br />通常、HTML では次の方法で DOCTYPE を宣言します。 <!D...
序文CSS を使用して点線を生成するのは、フロントエンド開発者にとっては簡単です。一般的に、これを実...