デザインに関する多くの記事で、クァークズモードが言及されています。プレーンテキストと開発の見通しで、このことについて誰かが考えを持っていますか?
6 に答える
あなたはこのリンクで読むことができます:
http://en.wikipedia.org/wiki/Quirks_mode
http://www.quirksmode.org/css/quirksmode.html
http://www.cs.tut.fi/~jkorpela/quirks-mode.html
最近のブラウザは通常、W3Cの推奨事項に従ってHTMLコンテンツをレンダリングしようとします。ただし、古いWebページとの互換性を提供し、追加の「直感的な」機能を提供するために、すべてのブラウザーは代替の「クァークズモード」をサポートしています。
ただし、Quirksモードは標準ではありません。異なるブラウザでのクァークズモードでのページのレンダリングは異なる場合があります。可能な限り、W3C標準に準拠し、過去または現在のブラウザの癖に依存しないようにすることをお勧めします。
通常、クァークズモードは、正しいDOCTYPE宣言がない場合にオンになり、DOCTYPE定義がある場合にオフになります。ただし、無効なHTML(選択したDOCTYPEに関して)によって、ブラウザーがクァークズモードに切り替わる可能性もあります。
さまざまなブラウザのさまざまなクァークズモードの詳細については、QuirksMode.orgを参照してください。
クァークズモードとは、ドキュメントタイプが宣言されていない状態でページが実行されていることを意味し、ドキュメントタイプはページの最上部で定義され、ブラウザがHTMLを読み取る方法を示します。これはStackOverflowsDoctypeです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
w3.orgは、Web標準とドキュメントタイプを指定します。StackOverflowはこのDoctypeを使用するため、そのDoctypeの仕様に準拠する必要があります。
これはHTML4.01Strict DTDであり、スタイルシートのサポートが成熟するにつれてW3Cが段階的に廃止すると予想するプレゼンテーション属性と要素を除外します。作成者は、可能な場合はStrict DTDを使用する必要がありますが、プレゼンテーションの属性と要素のサポートが必要な場合は、TransitionalDTDを使用できます。
WebブラウザにCSSの完全な/正しい実装がなかった過去の時代、開発者はページを適切にレンダリングするためにこれらの特異性に依存していました。ただし、ブラウザがより標準に準拠するようになると、これらのページは基本的に異なるタイプのCSS用に作成されたため、正しくレンダリングされなくなりました。これらの壊れたCSS実装用に書かれたページを処理するので、ここでquirksモードが登場します。
したがって、2009年には、古いCSSまたは古いブラウザを処理していない限り、クァークズモードについて心配する必要はありません。CSSを現在のWeb標準に書き込むだけで、問題ありません。
互換モードとも呼ばれるクァークモード-ドキュメントタイプが宣言されていない状態でページが実行されていることを意味します(これは古い学校なので、これはもう必要ない可能性が高いです)クァークモードの要点は、IE5の互換モードであるということです。これは、レイアウトモードの変更に加えて、IE5以降に発明されたブラウザ機能のほとんどをオフにすることも意味します。クァークズモードでは、Webブラウザは「最良の推測」に基づいてコードをレンダリング/作成しようとします。これには、非標準または整形式でない可能性のあるコードの寛大な解釈が含まれます。Doctypeを宣言しない場合、ブラウザは、実行しているHTML / CSSのバージョンを推測する必要があります。Quirksモードでは、古いHTMLドキュメントで、古いWebページとの下位互換性を維持するためにWebブラウザで使用されている手法を引き続き使用できます。
正しいDoctypeを作成すると、標準モードがトリガーされ、Quirksモードはトリガーされません。Netscape4などの古いブラウザは、Quirksモードで永続的にロックされます。
クァークズモードを使用すると、ブラウザを古いブラウザのように動作させることができます
これは、ブラウザが法を順守していないモードです。このモードでは不正な形式のマークアップを受け入れ、構文、タグ、要素に厳密ではありません。基本的に、正しく記述されていなくてもコードを受け入れることを意味します。
クァークズモードでは、ブラウザはWebの初期の頃と同じように動作します。これは、古いサイトが新しいブラウザで壊れすぎないようにするために行われました。
すべてのブラウザで同じように見えるページを作成するのは困難です。実際のところ、それは不可能です。多くのブラウザは、彼らだけが処理できる特別な機能で書かれていました。または、他のブラウザが処理する方法とは異なる特別な処理方法があります。非標準を使用すると、すべてのブラウザがクァークズモードで実行されます。ただし、すべてのブラウザがクァークズモードで同じように動作するわけではありません。各ブラウザは独自のレンダリングエンジンに戻ります。そのため、異なるブラウザでページを同じように表示することは非常に困難です。
また、互換性がないため、すべてのhtml5cssが機能しません
クァークズモードはIE6のJavaScript機能をサポートします。これは、IE5の動作、およびIE6、IE7、IE8のクァークズモードの動作に似ています。
クァークズモードでは、document.body(body-element)がルート要素であり、標準モードではhtml-element(document.documentElement)です。クァークズモードはブラウザの古いルールのためのものであり、ワールドワイドウェブが登場する前とHTML5が発明される前に書かれた古いウェブサイトが壊れないように作られました。したがって、クァークズモードは、CSS機能が正しくないWebサイトをサポートするためだけのものです。そのため、開発者には選択肢がありました。古いブラウザやWebサイトでは、標準(現在のブラウザ)またはクァークズモードを使用します。クァークズモードでは、今日私たちが持っている多くのCSS/HTML機能が正しく機能しません。
http://www.motive.co.nz/glossary/quirks-mode.php
- クァークズモードでは、Webブラウザは「最良の推測」に基づいてコードをレンダリングしようとします。これには、非標準または整形式でない可能性のあるコードの寛大な解釈が含まれます。
- Webページに文書型宣言がない場合、または文書型宣言が不完全な場合(たとえば、DTDへのURIが省略されている場合)、Webブラウザーはクァークズモードに切り替わる場合があります。
- クァークズモードでは、古いHTMLドキュメントを引き続き「機能」させることができ、使用されたコードが現在の技術標準に違反していることがわかっている場合(および、レガシーコンテンツを改訂する意図/予算がない場合)にトリガーする必要があります。
私がテストした私の答えを信頼してください。特に不必要な人から受け取った投票ではありません。
他の答えに加えて、モードはによってチェックすることができます
javascript:window.alert('You are in ' + (document.compatMode==='CSS1Compat'?'Standards':'Quirks') + ' mode.')