よく理解しましたかタグ 定義方法 使用方法

よく理解しましたか<!DOCTYPE>タグ 定義方法 使用方法
序文
今日、「<!DOCTYPE> タグを注意深く理解しましたか?」と尋ねられました。私は一瞬唖然としました。なぜなら、最初に W3cschool で XHTML Transitional DTD を使用するようにという提案を見て、それから Dreamweaver の HTML ドキュメント タイプをデフォルトで XHTML 1.0 Transitional に設定していたからです。それからは、当然のように現在まで使用しております。人間は年を取るにつれて怠惰になり、無意識のうちに多くのことを当たり前だと考えるようになるというのは本当です。聞かれたので、ちょっと調べてまとめてみました。メモだけ残しておきます〜〜

<!DOCTYPE> の定義:
<!DOCTYPE> 宣言は、ドキュメントの先頭、<html> タグの前に配置されます。このタグは、ドキュメントがどの HTML または XHTML 仕様を使用しているかをブラウザに伝えます。
このタグは、厳密なバージョン、移行バージョン、およびフレームベースの HTML バージョンを表す 3 つの DTD タイプを宣言できます。 (ドキュメント内のマークアップが doctype 宣言で指定された DTD に従っていない場合、ドキュメントはコード検証に合格できないだけでなく、ブラウザーで正しく表示されない可能性があります。)

<!DOCTYPE> の使用法:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">分析: 上記の宣言では、ドキュメントのルート要素が html であることが宣言されています。これは、パブリック識別子が "-//W3C//DTD XHTML 1.0 Strict//EN" として定義されている DTD で定義されています。ブラウザは、この公開識別子に一致する DTD を見つける方法を知っています。見つからない場合、ブラウザはパブリック識別子に続く URL を DTD を検索する場所として使用します。
- : 組織名が登録されていないことを示します。 Internet Engineering Task Force (IETF) と World Wide Web Consortium (W3C) は登録された ISO 組織ではありません。
+ はデフォルトで、組織名が登録されていることを示します。
DTD: パブリック テキスト クラス、つまり参照されるオブジェクトのタイプを指定します。 デフォルトは DTD です。
HTML: 参照されるパブリック テキストの一意の説明的な名前であるパブリック テキストの説明を指定します。その後にバージョン番号が続く場合があります。デフォルトは HTML です。
URL: 参照オブジェクトの場所を指定します。
厳密: W3C の専門家が段階的に廃止することを望んでいるすべての代表的な属性と要素を除外します。

HTML ドキュメントには 3 つの種類があります。
HTML 4.01 では、Strict、Transitional、Frameset の 3 つのドキュメント タイプが指定されています。
a) プレゼンテーション層を乱雑にせずにクリーンなマークアップが必要な場合は、HTML Strict DTD タイプを使用します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd">
b) 移行型 DTD には、W3C がスタイル シートに移動することを想定しているプレゼンテーション属性と要素を含めることができます。ユーザーがカスケーディング スタイル シート (CSS) をサポートしていないブラウザーを使用していて、HTML のプレゼンテーション機能を使用する必要がある場合は、移行型 DTD タイプを使用します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
c) フレームセット DTD はフレームを含むドキュメントに使用されます。 Frameset DTD は、frameset 要素が body 要素に置き換わる点を除いて、Transitional DTD と同じです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 フレームセット//EN" " http://www.w3.org/TR/html4/frameset.dtd">

3 つの XML ドキュメント タイプ:
XHTML 1.0 では、Strict、Transitional、Frameset の 3 つの XML ドキュメント タイプが指定されています。
a) プレゼンテーション層を乱雑にせずにクリーンなマークアップが必要な場合は、XHTML Strict DTD タイプを使用します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
b) 移行型 DTD には、W3C がスタイル シートに移動することを想定しているプレゼンテーション属性と要素を含めることができます。ユーザーがカスケーディング スタイル シート (CSS) をサポートしていないブラウザーを使用していて、HTML のプレゼンテーション機能を使用する必要がある場合は、移行型 DTD タイプを使用します。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
c) フレームセット DTD はフレームを含むドキュメントに使用されます。 Frameset DTD は、frameset 要素が body 要素に置き換わる点を除いて、Transitional DTD と同じです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 フレームセット//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

正しい doctype を選択してください:
正しい doctype 宣言を取得するには、ドキュメントが従う標準に dtd を対応させることが重要です。
たとえば、ドキュメントが xhtml 1.0 strict 標準に準拠していると仮定すると、ドキュメントの doctype 宣言は対応する dtd を参照する必要があります。
一方、DOCTYPE 宣言で XHTML DTD を指定しても、文書に旧形式の HTML タグが含まれている場合は不適切です。同様に、DOCTYPE 宣言で HTML DTD を指定しても、文書に XHTML 1.0 Strict タグが含まれている場合も不適切です。
有効な doctype 宣言が指定されていない場合、ほとんどのブラウザは組み込みのデフォルトの dtd を使用します。この場合、ブラウザは組み込みの DTD を使用して、指定したタグを表示しようとします (ただし、これはページが非常に不適切に記述されている場合に発生します)。
Jingdong、Taobao、Blog Garden を調べたところ、すべてこれを使用しています (私はいつもこれを使用しています)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
しかし、Baidu や Google が「<!doctype html>」を使用していることがわかったので、情報をよく確認してみると、HTML5 でもこれを直接使用していることがわかりました。ただし、HTML 5 は SGML ベースではないため、DTD を参照する必要はありませんが、ブラウザの動作を規制する (ブラウザが期待どおりに動作できるようにする) ために doctype が必要です。

今後は「<!doctype html>」を直接使用することをお勧めします。<!doctype html>を使用すると、ブラウザの標準互換モードが有効になります。標準互換モードでは、他のバージョンのInternet Explorer(IE6より前のバージョンは無視)との互換性は保証されません。ドキュメントのレンダリング動作は、将来のInternet Explorerと異なる場合がありますが、お気軽にご利用ください~~

ヒント:
XHTML 1 は HTML 4.01 の XML バージョンであり、上位互換性のない形式です。
HTML 4.01 は SGML に基づいているため、HTML 4.01 の doctype には DTD への参照が必要です。
SGML は、文書に説明タグを埋め込むための標準形式と、文書構造を記述するための標準方法を指定します。現在 WEB で使用されている HTML 形式は、固定されたタグのセットを使用する SGML 文書です。

<<:  ウェブサイトのユーザーエクスペリエンスデザイン(UE)

>>:  フローティングカスタマーサービス効果を実現するCSS

推薦する

CSS の子要素を親要素と高い一貫性を持たせる方法

絶対位置決め方式: (1)親要素を相対配置に設定します。親要素の高さを指定しない場合は、左の子要素の...

アコーディオン効果を実現するJavaScript

この記事では、アコーディオン効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

vite2.0+vue3 モバイルプロジェクトの詳細な説明

1. 関連する技術的なポイントバイト版ヴュー3 ts統合ルーティングvuexを統合するAxiosを統...

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...

キーボード上の各種特殊記号の英語読み方(知識の普及)

キーボード文字英語`バッククォート〜チルダ!叫ぶ@で#ナンバーサイン$ドル%パーセント^キャレット&...

MySQL 2級コンピュータ試験共通テストポイント 8つのMySQLデータベース設計最適化方法

MySQLデータベース設計の8つの最適化方法の詳細は次のとおりです。 1. 最も適切なフィールド属性...

mysql8.0.23 Linux (centos7) のインストールの完全かつ詳細なチュートリアル

目次リレーショナルデータベースとは何ですか?非リレーショナルデータベースとは何ですか? MySQL ...

MySQL のデータの偶発的な削除の解決策と kill ステートメントの原則

mysql が誤ってデータを削除しました削除ステートメントを使用して誤ってデータ行を削除する誤ってデ...

カラーブロックレポート効果の動的な表示を実現する HTML (サンプルコード)

HTMLカラーブロックを使用してデータを動的に表示する <スタイル タイプ="te...

CSS における位置指定の概要

CSS には 4 種類の配置方法があり、シナリオによって効果が異なります。ここでは、これら 4 種類...

SQL の左結合と右結合の原理と例の分析

テーブルが 2 つあり、テーブル A のレコードがテーブル B に存在しない可能性があります。左結合...

負荷分散と動的・静的分離を実現するNginx+Tomcatの原理の分析

1. Nginx ロードバランシングの実装原理1. Nginxはリバースプロキシを通じて負荷分散を実...

MySQL の pid とソケットの詳細な説明

目次1. pidファイルの紹介2.ソケットファイルの紹介要約:ソケット ファイル: Unix ドメイ...

シンプルなデータ応答システムを実装する

目次1. デップ2. 観察者を理解する3. 監視と観察者を理解する4. トリガーの依存性5. プロセ...

Linux RabbitMQ クラスタ構築プロセス図

1. 全体的な手順冒頭で、RabbitMQ サービスをインストールして実行する方法を紹介しましたが、...