Quirks モードでの DOCTYPE 要素の使用

ブラウザーを Quirks モードにするために Doctype を除外する

目次拡大

数か月以上 Web ページをデザインしている場合は、すべてのブラウザーで同じように見えるページを作成することの難しさを認識している可能性があります。実際のところ、それは不可能です。多くのブラウザには、そのブラウザだけが処理できる特別な機能が組み込まれています。または、他のブラウザーが処理する方法とは異なる特別な処理方法を持っています。例えば:





|_+_|

呼び出します。

  • レイヤは、Netscape ブラウザで使用するために作成されました。これらは他のブラウザでは機能せず、実際、Netscape 6.x 以降では廃止されています。
  • インライン フレーム 元々は Internet Explorer 専用に作成されたもので、その後 HTML 仕様の一部になりました。
  • Internet Explorer 6.0 では、スペースが追加されます (
    ) div の内容をすべて 1 つの (長い) 行に記述しない限り、タグを囲みます。 (IE 6 には、これ以外にも多くの癖があります。)
  • Netscape 4.7 では、正しい HTML で記述されていないテーブルは表示されません。代わりに空白のページが表示されます。これは Netscape 6 で修正されました。

ブラウザー開発者にとっての問題は、古いブラウザー用に構築された Web ページと下位互換性のある Web ブラウザーを作成する必要があることです。この問題に対処するために、ブラウザー メーカーは、ブラウザーが動作するモードを作成しました。これらのモードは、DOCTYPE 要素の有無によって定義されます。



|_+_|

呼び出します。

DOCTYPE 切り替えと Quirks モード

以下を入れると



|_+_|、これは標準モードをトリガーします。
  • これは HTML 4.01 Transitional ドキュメントです
  • 標準モードであるため、ほとんどのブラウザはコンテンツを HTML 4.01 Transitional に準拠 (またはほとんど準拠) してレンダリングします。
  • そしてこれを入れると

    |_+_|宣言すると、それらは quirks モードになります。したがって、これらの例はいずれも IE 6 を quirks モードにします。 要素の切り替え

    • IE 5.5 quirks モード (IE 8 および 9)
    • IE 7 標準モード (IE 8 および 9)
    • IE 8 ほぼ標準モード (IE 8 および 9)
    • IE 8 標準モード (IE 8 および 9)
    • IE 9 ほぼ標準モード (IE 9)
    • IE 9 標準モード (IE 9)
    • XML mode (IE 9)

    IE 8 では、ユーザーがレンダリング モデルを IE 7 モードに戻すことを選択できる互換モードも導入されました。そのため、両方を使用して設定したいモードを設定しても、

    |_+_|と |_+_|要素、あなたのページは まだ



    Quirks モードとは何ですか?

    Quirks モードは、Web デザイナーがそれらに対処するために使用していたすべての奇妙なレンダリングと非準拠のブラウザー サポートとハックに対処するために作成されました。ブラウザー メーカーが懸念していたのは、ブラウザーを完全な仕様準拠に切り替えると、Web デザイナーが取り残されることでした。設定することで

    |_+_|たとえば、属性が機能します。 IE8 と IE9 では、Quirks モードでのスクリプト作成が大幅に変更されています。

    ほぼ標準モードにも違いがあります。



    • 内部に画像のみを含むテーブル セルの高さは、標準モードとは異なる方法で計算されます。

    DOCTYPE の選択方法

    私の記事で詳しく説明しています

    |_+_|、これはあなたが使うべきものです。
  • 従来の要素を検証する必要がある場合、または何らかの理由で新しい機能を避けたい場合は、厳密な HTML 4.01 に移動してください。
  • テーブル内の画像をスライスして修正したくない場合は、Transitional HTML 4.01 に移動してください。
  • quirks モードで意図的にページを書き込まないでください。常に |_+_| を使用してください。これにより、将来の開発時間を節約できますが、実際には何のメリットもありません。 IE6 は急速に人気を失いつつあり、このブラウザー用に設計することによって (基本的には互換モードで設計することです)、自分自身、読者、およびページを制限しています。 IE 6 または 7 用に記述しなければならない場合は、最新のブラウザーを強制的に互換モードにするのではなく、条件付きコメントを使用してそれらをサポートしてください。
  • DOCTYPE を使用する理由

    このタイプに気づいたら



    |_+_| |_+_| を使用すると、より直接的に Web ページに影響を与えることができます。これは、ブラウザーがページから何を期待できるかを示します。また、使い始めると
    DOCTYPE

    ブラウザのバージョンと Quirks モード



    |_+_| アンドロイド
    クロム
    ファイアフォックス
    IE 8+
    iOS
    オペラ 7.5+
    サファリ
    IE6
    IE7
    オペラ7
    ネットスケープ 6
    なし 癖モード 癖モード 癖モード
    HTML3.2
    癖モード 癖モード 癖モード
    HTML4.01
    移行期 標準モード* 標準モード* 標準モード
    移行期 癖モード 癖モード 癖モード
    厳しい 標準モード 標準モード* 標準モード
    厳しい 標準モード 標準モード* 標準モード
    HTML5
    標準モード 標準モード* 癖モード

    *この DOCTYPE を使用すると、ブラウザーはほぼ標準に準拠していますが、いくつかの問題があります。必ずテストしてください。これは、Almost Standards モードとも呼ばれます。