1

doctype を含めない場合、どのような問題に直面するでしょう<!DOCTYPE html>か? また、新旧のすべてのブラウザーで明確化しても問題ないでしょうか?

を含めないことによる問題は何<!DOCTYPE html>ですか?

私はすでにスタック オーバーフローの質問を読んでいます。、しかし、問題は見つかりませんでした。いくつかの問題を知りたいのですが、回答者が<!DOCTYPE html>、問題が解決された後に問題に直面している別のタイプの質問を定義する必要があると言うことがあります。そのような問題の種類を知りたいです。

4

1 に答える 1

6

最良の答えはMDNから来ています:

昔の Web では、ページは通常 2 つのバージョンで記述されていました。1 つは Netscape Navigator 用で、もう 1 つは Microsoft Internet Explorer 用です。Web 標準が W3C で作成されたとき、ブラウザはそれらをそのまま使用することはできませんでした。これを行うと、Web 上のほとんどの既存のサイトが機能しなくなるからです。したがって、ブラウザーは、新しい標準に準拠したサイトを古いレガシー サイトとは異なる方法で処理する 2 つのモードを導入しました。

現在、Web ブラウザーのレイアウト エンジンで使用される 3 つのモードがあります: quirks モード、ほぼ標準モード、および完全標準モードです。quirks モードでは、レイアウトは Navigator 4 および Internet Explorer 5 for Windows の標準外の動作をエミュレートします。これは、Web 上の既存のコンテンツを壊さないようにするために必要です。完全な標準モードでは、動作は (できれば) HTML および CSS 仕様で記述された動作です。ほぼ標準モードでは、実装されている癖はごくわずかです。

ブラウザはどのモードを使用するかをどのように決定しますか?

HTML ドキュメントの場合、ブラウザーはドキュメントの先頭にある DOCTYPE を使用して、それを quirks モードで処理するか標準モードで処理するかを決定します。ページが完全な標準モードを使用するようにするには、ページに次の例のような DOCTYPE があることを確認してください。

<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8>
<title>Hello World!</title>   
</head>
<body>
</body> 
</html>

例に示されている DOCTYPE は、可能な限り単純であり、HTML5 で推奨されているものです。HTML 標準の以前のバージョンでは他のバリアントが推奨されていましたが、今日のすべての既存のブラウザーは、時代遅れの Internet Explorer 6 であっても、この DOCTYPE に対して完全な標準モードを使用します。より複雑な DOCTYPE を使用する正当な理由はありません。別の DOCTYPE を使用する場合は、1 つを選択するリスクがあり、ほぼ標準モードまたは quirks モードがトリガーされます。

DOCTYPE を HTML ドキュメントの先頭に配置してください。コメントや XML 宣言など、DOCTYPE の前にあるものはすべて、Internet Explorer 9 以前で互換モードをトリガーします。

HTML5 では、DOCTYPE の唯一の目的は、完全な標準モードを有効にすることです。古いバージョンの HTML 標準では DOCTYPE に追加の意味がありましたが、DOCTYPE を quirks モードと標準モードの切り替え以外に使用したブラウザはありません。

2 番目の質問に答えるには <!DOCTYPE html>、すべてのブラウザー (IE6 を含む) で標準モードをトリガーする HTML5 doctype: を使用することをお勧めします。

于 2013-04-28T03:00:15.617 に答える