無視されたDOCTYPE記述の分析

無視されたDOCTYPE記述の分析
doctype もその 1 つです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1. doctype とは何ですか? doctype タグは、ドキュメントの dtd (文書型定義) を指定するために使用され、次のように各 HTML の先頭に記述されます。
<!DOCTYPE RootElement 可用性 "URI" [宣言]>
いくつかの一般的な doctype の例:
HTML 4.01: 厳密<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 移行<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 移行//EN" "http://www.w3.org/TR/html4/loose.dtd">
XHTML 1.1 厳密な DTD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 厳密な//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2. doctype で何ができるのか? <br />doctype が指定されているかどうか、または異なる doctype が指定されているかどうかによって、異なるブラウザ モードがアクティブになり、HTML、CSS、JS に何らかの影響が及びます。その中で最も有名なのは、いわゆるボックス モデル問題です。
2.1 なぜ複数のモードがあるのですか? 昔、Netscape と IE が覇権を争っていた頃、ブラウザ モードはブラウザ自体によって決定されていました。これは、ブラウザがあまりにも強力だったためです。時は流れ、あっという間に戦国時代。皆が最終決定権を持っていたら世の中は混乱してしまうと気づき、リーダーを選出する議論が起こり、W3C が権力を握りました。しかし、問題は再び発生します。たとえば、IE はもはや市場を独占できず、標準に準拠することが一般的な傾向です。ただし、ブラウザが標準のみをサポートする場合、以前の多くのページで問題が発生することになります。
そこで、doctype が生まれました。doctype が指定されていない場合は、Quirks モードと呼ばれるオリジナルのモードが採用されます。doctype が指定されている場合は、標準に従うモードが採用されます。これは、Standards モードと呼ばれます。この間、Mozilla を代表とする何人かの人々は、標準モードでの img の解析はあまり適切ではないと感じ、個人的な意見を保持していました。特定の doctype を指定する場合、ほぼ標準モード (Almost Standards Mode) が採用されます。具体的な詳細については、Activating Browser Modes with Doctype、または @随网之舞 の翻訳 activate browser mode with doctype を参照してください。
2.2 さまざまなモードの具体的な影響 @ppk は、Quirks モードと strict モードについて適切な概要を示しました。
3. 推奨されるdoctype
<!DOCTYPE HTML>
理由: HTML5 をサポートしています。認識されない場合は、厳密モードが使用されます。
ブラウザの互換性の問題を解決するには、img { display: block } などのリセット CSS を追加します。
現在多くの人が使用している <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> と <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> は、いくつかの主要ブラウザの Quirks モードと同等であるだけであることに注意してください。つまり、省略できます。

<<:  ウェブサイトデザインに関するヒント

>>:  CSS で垂直方向の中央揃えを実装するいくつかの方法の概要

推薦する

js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

この記事の例では、コンテンツの計算を実現するためのjsドラッグアンドドロップテーブルの具体的なコード...

MySQLの最適化の詳細な分析とパフォーマンス

導入データベースを使用したことがある人なら、機能面での like 記号と = 記号の類似点と相違点を...

Linux touch コマンドの使用例

Linux touch コマンドの詳細な説明: 1. コマンド機能:ファイルまたはディレクトリの作成...

JavaScript で円形のプログレスバー効果を実装する

この記事では、円形のプログレスバー効果を実現するためのJavaScriptの具体的なコードを参考まで...

背景画像に CSS3 変換を適用するためのソリューション

CSS 変換は便利ですが、背景画像にはまだ適用されていません。この投稿では、背景画像を回転させたい場...

JavaScript データのフラット化の詳細な説明

目次フラット化とは何か再帰トストリング減らすアンダーコア_.平坦化_。連合_。違い要約するフラット化...

フレックスマルチカラムレイアウトで発生する問題と解決策の詳細な説明

フレックス レイアウトは間違いなくシンプルで使いやすいです。レイアウトをよりシンプルかつ高速にします...

MySQLを5.7にアップグレードすると、WordPressはデータをインポートするときにエラー1067を報告します

最近MySQLを5.7にアップグレードしましたが、WordPressでデータのインポート時にエラーが...

Nginxホットデプロイメントの実装

目次セマフォNginx ホットデプロイメント上記のブログ投稿に従ってください。ファイアウォールをオフ...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

Linx awk入門チュートリアルの詳細な説明

Awk はテキスト ファイルを処理するためのアプリケーションであり、ほぼすべての Linux システ...

Mysql5.7.18 のインストールとマスタースレーブレプリケーションの詳細なグラフィック説明

CentOS6.7にmysql5.7.18をインストールする 1. /usr/localディレクトリ...

フォームの読み取り専用属性と無効な属性についての簡単な説明

フォーム内の読み取り専用および無効な属性1. 読み取り専用:サーバーは、ユーザーがデータを変更するこ...

MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

目次序文1. インストール1.公式サイトからダウンロード2. 構成を作成する3. MySQLを初期化...

ローカルでビルドした Docker イメージを Dockerhub に公開する方法

今日は、ローカルの Docker プロジェクト イメージを dockerhub に公開する方法を紹介...