無視された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 で垂直方向の中央揃えを実装するいくつかの方法の概要

推薦する

MySQL 5.7.18 アーカイブ圧縮版のインストールチュートリアル

この記事では、MySQL 5.7.18アーカイブ圧縮版をインストールする具体的な方法を参考までに紹介...

Linux プログラムの実行中に動的ライブラリをロードできない場合の解決策

Linux でダイナミック ライブラリをロードできません次のような異常事態が発生した場合./test...

Vue がコンポーネント通信を実装する 8 つの例

目次1. Props 親コンポーネント ---> 子コンポーネント通信2. $emit 子コン...

MLSQLコンパイル時権限制御例の詳細な説明

序文MySQL の権限を簡単に理解すると、MySQL では自分の能力の範囲内で操作が許可され、その限...

CSSで記事の区切り線のスタイルを実装するさまざまな方法のまとめ

この記事では、CSS で記事の区切り線を実装するさまざまな方法をまとめています。区切り線はページを美...

MySQLで最新のトランザクションIDを照会する方法

前に書いた内容: ビジネス ロジックの判断を行うために、最新のトランザクション ID を表示する必要...

Javascriptでビルダーパターンを実装する方法

概要ビルダー パターンは比較的単純なデザイン パターンであり、作成パターンに属します。定義: 複雑な...

MySQL データベースの制約とデータ テーブルの設計原則

目次1. データベースの制約1.1 はじめに1.2 制約の種類1.3 ヌルでない1.4 ユニーク1....

HTML は Double 11 クーポン取得を実装します (クーポン取得ページを開く時間を設定します)

さっそく、コードを直接投稿します。具体的なコードは次のとおりです。 <!DOCTYPE htm...

ZFS とは何か? ZFS を使用する理由とその機能

ZFSの歴史Z ファイル システム (ZFS) は、2001 年に Matthew Ahrens と...

例を通してBRタグとPタグの違いを理解する

<br />改行タグの使用<br>改行タグ<br>は終わりのない...

CentOS7 で docker を使用して Apollo 構成センターをデプロイする実装

Apollo オープンソース アドレス: https://github.com/ctripcorp/...

Linux システムの busybox に mkfs.vfat コマンドを移植する

オーディオおよびビデオ ファイルを保存するためのディスク寿命を延ばすには、ディスクをフォーマットする...

MySQL 8.0.11 圧縮バージョンを Windows 10 にインストールするための詳細なチュートリアル

最近コンピュータを再インストールした後、最新バージョンのみをインストールするという強迫観念に基づいて...

IE6のバグと修正は予防戦略です

元記事:究極の IE6 チートシート: 25 以上の Internet Explorer 6 のバグ...