この記事では、Doctype要素を体系的に説明しています。同時に、多くの情報が検証されました。インターネット上の情報は非常に乱雑であるため、コレクションとソートの後に再定義しました。たとえば、Doctype要素の定義は、主に基本的な知識と高度な知識に分けられます。基本的な知識は、基本的なDoctypeの知識を説明しています。多くの高度な知識はインターネットから来ています。主にいくつかの実用的な手法です。
Doctypeは、ドキュメントタイプの略語です。 <!Doctype>要素は、ページのドキュメントタイプ宣言(DTD)を宣言するために使用されます。この要素宣言は、ドキュメントの前面にあり、<html>タグの前にあります。ページのDTDを確認することにより、ページが使用するW3C仕様(HTMLやXHTML仕様など)を決定することもできます。
W3C(W3Cの推奨事項)には、W3C仕様の正しい翻訳を推奨する必要があります。多くのデザイナーの目では、W3Cが標準です。しかし、多くの人は少ししか理解していません。以下は、現在のW3C仕様のHTML仕様とXHTML仕様にリストされています。後でHTMLとXHTMLの関係について説明します。
| 仕様 | 推薦する |
HTML 3.2 | 1997年1月14日 |
HTML 4.0 | 1998年5月24日 |
HTML 4.01 | 1999年12月24日 |
| 仕様 | ドラフト/提案 | 推薦する |
XHTML 1.0 | 2000年1月26日 | |
XHTML 1.0リビジョン | 2002年8月1日 | |
XHTML 1.1 | 2001年5月31日 | |
XHTMLモジュール | 2001年4月10日 | |
XHTMLモジュール1.1 | 2006年7月5日 | |
XHTML BASIC | 2000年12月19日 | |
XHTML BASIC 1.1 | 2006年7月5日 | |
XHTMLイベント | 2003年10月14日 | |
XHTMLイベント2 | 2007年2月16日 | |
XHTMLプリント | 2006年9月20日 | |
XHTMLメディアタイプ | 2002年8月1日 | |
Xforms 1.0 | 2003年10月14日 | |
Xforms 1.0(SE) | 2006年3月14日 | |
Xforms 1.1 | 2007年2月22日 | |
XHTML 2.0 | 2006年7月26日 | |
xlink | 2001年6月27日 | |
hlink | 2002年9月13日 |
XHTMLは最新のHTML仕様と見なすことができ、HTML 4.01からスムーズに移行できるXMLアプリケーションです。 W3Cの最初のステップは、HTML 4.01をXMLにリファクタリングし、XHTML 1.0の誕生につながりました。 XHTML 1.0は、HTML 4.01タグによって提供されるセマンティクスに依存しています。
ページファイルは、<doctype>要素を介して異なるDTDを宣言し、現在のページが準拠しているHTMLまたはXHTML仕様をブラウザに伝えます。以下は、HTML4.01およびXHTML1.0仕様に関連するDTDのみをリストします。
HTML 4.01は、Strict、Transitional、およびFramesetの3つのドキュメントタイプを指定します。
プレゼンテーションレイヤーでの混乱を避けるためにクリーンマーキングが必要な場合は、このタイプを使用してください。カスケードスタイルシート(CSS)で使用してください。
<!doctype html public - // w3c // dtd html 4.01 // en
http://www.w3.org/tr/html4/strict.dtd>
トランジショナルDTDには、W3Cがスタイルシートに移動すると予想されるレンダリングプロパティと要素を含めることができます。読者がカスケードスタイルシート(CSS)をサポートしていないブラウザを使用している場合は、HTMLのレンダリング機能を使用する必要がある場合は、このタイプを使用します。
<!doctype html public - // w3c // dtd html 4.01 transitional // en
http://www.w3.org/tr/html4/loose.dtd>
フレームセットDTDは、フレーム付きのドキュメントに使用する必要があります。ボディ要素を置き換えるフレームセット要素を除き、フレームセットDTDは移行性DTDと同等です。
<!doctype html public - // w3c // dtd html 4.01フレームセット// en
http://www.w3.org/tr/html4/frameset.dtd>
XHTML 1.0 3つのXMLドキュメントタイプを指定します:厳格、移行、およびフレームセット。
プレゼンテーションレイヤーでの混乱を避けるためにクリーンマーキングが必要な場合は、このタイプを使用してください。カスケードスタイルシート(CSS)で使用してください。
<!doctype html
public - // w3c // dtd xhtml 1.0 strict // en
http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd>
トランジショナルDTDには、W3Cがスタイルシートに移動すると予想されるレンダリングプロパティと要素を含めることができます。読者がカスケードスタイルシート(CSS)をサポートしていないブラウザを使用している場合は、このタイプを使用して、XHTMLのレンダリング機能を使用する必要があります。
<!doctype html
public - // w3c // dtd xhtml 1.0 transitional // en
http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd>
フレームワークを使用するときは、このDTDを使用してください!
<!doctype html
public - // w3c // dtd xhtml 1.0フレームセット// en
http://www.w3.org/tr/xhtml1/dtd/xhtml1-frameset.dtd>
HTMLトップレベルの要素の可用性登録//組織//タイプタグ//定義言語URL
トップレベルの要素:DTDで宣言されたトップレベルの要素タイプを指定します。これは、宣言されたSGMLドキュメントタイプに対応します。デフォルトはHTMLです。
可用性:公式の公開識別子(FPI)が公開されているオブジェクトまたはシステムリソースであるかどうかを指定します。値はpublicまたはsystem.publicのデフォルトにすることができます。公開されているオブジェクトを表します。システムは、ローカルファイルやURLなどのシステムリソースを表します。
登録:組織が国際標準化機関(ISO)によって登録されているかどうかを指定します。
+はデフォルトであり、組織名が登録されていることを示します。
- 組織名が登録されていないことを意味します。インターネットエンジニアリングタスクフォース(IETF)とWorld Wide Web Association(W3C)は、登録されたISO組織ではありません。
組織:!Doctype宣言、つまりOwnDeridによって参照されるDTDの作成とメンテナンスを示すグループまたは組織の名前を指定します。 IETFはIETFです。 W3CはW3Cです。
タイプ:パブリックテキストクラス、つまり参照されるオブジェクトのタイプを指定します。デフォルトはDTDです。
タグ:パブリックテキストの説明、つまり引用されたパブリックテキストのユニークな記述名を指定します。バージョン番号は後で含めることができます。デフォルトはHTMLです。
定義:ドキュメントタイプの定義を指定します。
フレームセットフレームセットドキュメント。
Strictは、W3Cの専門家が段階的に廃止したいすべての代表的な属性と要素を除外します。スタイルシートはすでに完璧であるためです。
Transitionalには、フレームセット要素を除くすべての内容が含まれます。
言語:パブリックテキスト言語、つまり、参照されるオブジェクトの作成に使用される自然言語エンコードシステムを指定します。言語定義は、ISO 639言語コード(Capital 2文字)として記述されています。 enデフォルト。英語。
URL:参照されるオブジェクトの場所を指定します。
ページコンテンツがDoctypeで宣言された標準を満たしているかどうかを確認する場合は、W3Cが提供する検証ツールを使用できます。
http://validator.w3.org/
最新のブラウザには、さまざまなレンダリングモードが含まれており、W3C標準と古いブラウザ向けに設計されたW3C標準とWebページの両方のWebページをサポートすることを目的としています。その中で、標準モード(つまり、厳格なプレゼンテーションモード)を使用して、最新の標準に従うWebページを提示しますが、Quirksモード(つまり、ルーズプレゼンテーションモードまたは互換性モード)は、従来のブラウザ向けに設計されたWebページを提示するために使用されます。また、Mozilla/Netscape 6には、標準の古いバージョン向けに設計されたWebページをサポートするためのほぼ標準モードが追加されていることに注意してください。
理論的には、これは非常に直感的なスイッチでなければなりません。ページの<!doctype>要素がページのコンプライアンス標準(xhtml1.0など)を指している場合、ブラウザは標準モードに切り替わります。 Doctypeが指定されていない場合、またはHTML 3.2以上のバージョンが指定されている場合、ブラウザはQuirksモードに切り替わります。このようにして、ブラウザは、標準と一致しない昔ながらのWebページを完全に放棄することなく、標準に従うドキュメントを正しく表示することができます。しかし、次の状況があります。
完全なDoctype宣言には、対応するドキュメントタイプ定義(DTD)ファイルのURLを含めます。 URLが失われた場合、または指定されている場合、(完全に適格なインターネットアドレスではなく)相対パス(完全に適格なインターネットアドレス)で、ほとんどのブラウザーは、Doctype宣言によって指定されたモードに関係なく、Quirksモードに入ります。
ブラウザは、Doctype宣言のフォームと形式に非常に敏感です。間違ったフォームを持つDoctypeを認識できない場合、それを強制的にQuirksモードに入力するように強制します(既知の正しいDoctypeをコピーしてドキュメントに直接入力するのではなく、ドキュメントに貼り付けることをお勧めします)。フォームエラーDoctypeの一般的な理由は、Doctypeの最初の部分とURLの間にスペースが欠落していることです。 Doctypeを2本の線に分割したDoctypeを単一の線に分割すると、そのスペースはしばしば失われます。
ブラウザが遷移期間のDoctypeを処理すると、一貫性のない問題が発生する可能性が最も高くなります。 IEとオペラは標準モードを使用します。 Netscape 6およびSafariの古いバージョンは、Quirksモードを使用します。 Netscape 7、Mozilla 1およびSafariの新しいバージョンは、Netscapeのほぼ標準モードを使用します。
また、ブラウザが認識されていないDoctypesを処理する場合、矛盾もあります。 IEとOperaは標準モードに入ります。言い換えれば、認識されていないDoctypeは、ブラウザに統合されていない新しい標準であると想定しています。それどころか、Netscape 6は、認識されていないDoctypesに遭遇すると、Quirksモードに切り替わります。
Doctypeの切り替えは、さまざまなブラウザの矛盾に気付き、さまざまな問題を積極的に回避できる場合、ブラウザが正しいレンダリングモードに入り、Webページを正しく表示する効果的な手段かもしれません。
1.上記のDoctype宣言の直後には、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>要素を追加して、ページで使用される言語を宣言します。
<メタhttp-equiv = content-type content = text/html; charset = gbk />
4。XHTMLでは、すべての属性を引用する必要があります。
HTML Tidy(http://tidy.sourceforge.net/)などのいくつかの無料ツールは、すべての属性に自動的に引用符を付けるのに役立ちます。
5。XHTMLでは、すべてのプロパティに値が必要です。
HTML 4.0のように書くことはできません:
<入力タイプ=チェックボックス名=シャツ値=中程度のチェック>
そして書くために:
<入力タイプ=チェックボックス名=シャツ値=中程度のチェック= checked />
6。XHTMLでは、すべてのタグを閉じる必要があります。
タグを閉じるには2つの方法があります。コンテンツを含むタグは、endタグを使用して閉じられ、空のタグの後にスペースと /が続きます。例えば:
<p>これは許容可能なhtmlであり、有効なxhtmlも有効です。</p>
<img src = logo.gif />
7。コメントコンテンツでは使用しないでください。
- XHTMLコメントの最初と終わりにのみ使用でき、コメントの内容に表示することはできません。次の記述方法は許可されていません。
<! - 無効 - そして、以下の古典的なセパレーターもそうです。 - >
<!------------------------------------->
8。HTMLはすべての特別なシンボルをエンコードします。
W3Cの3つの仕様であるXHTML/CSS/DOMは、完全で厳密なシステムを形成します。私はこれらの3つの仕様を、ウェブの世界における三位一体の神の化身と呼んでいます。これらの3つの仕様は、Webページの構造、プレゼンテーション、および動作の3つの部分を表しています。 Webページをこれらの3つのレイヤーに厳密に分割し、各レイヤーの内容を互いに独立していることを試みます。これにより、ページの再利用性とモジュール性が向上し、ページの生産、メンテナンス、変更のコストが大幅に削減されます。上記の階層を実現するには、記述されたXHTMLには構造関連のタグ(要素と属性)のみを含める必要があります。したがって、厳格型DTDを使用し、できるだけ早く表現力のある意味を持つマーカーを放棄することに慣れている必要があります(HTML 4.0仕様ではこれらのマーカーは推奨されず、XHTML後のバージョンでは完全に破棄されます)。できるだけ早くテーブルに基づいて古いレイアウト方法を放棄し、完全なCSSレイアウトを採用します。
「HTMLとXHTMLの権威あるガイド」、Chuck Musciano&Bill Kennedy。
「XHTMLチュートリアル」、チェルシーバレンタイン&クリスミニック。
ジェフリー・ゼルドマンによる「ウェブサイトのリファクタリング」。
著者:Zhang Ziqiu
出典:http://www.cnblogs.com/zhangziqiu/