DOCTYPE記述の見落としの解析
2022-01-30 09:51:09
doctypeもその一つです。
<!DOCTYPE HTML PUBLIC "-/W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1.doctypeとは
doctypeタグは、各htmlの先頭に書かれている、文書のdtd(文書型定義)を指定するためのもので、以下のような形になっています。
<!DOCTYPE RootElement Availability "URI" [declarations]>
いくつかの一般的なdoctypesなど。
HTML 4.01: Strict<!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional<!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose. dtd">
XHTML 1.1 Strict DTD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd">
2. doctypeでできること
doctypeを指定するかしないか、また異なるdoctypeを指定すると、異なるブラウザモードが有効になります。これはhtml、css、jsにいくつかの影響を及ぼし、その中で最も有名なのはいわゆるボックスモデル問題です。
2.1 なぜ複数のモードが存在するのか
時代が流れて戦国時代になったとき、みんなで意見を言い合うと世の中が混乱することがわかったので、味方をつけようという話になり、w3cが政権をとることになったのです。しかし、また問題が出てきて、例えばIEは、もはや優位に立つことはできず、標準に合わせる流れになっていますが、ブラウザが標準にしか対応していないと、これまでの多くのページが何らかの問題を起こすことになるのです。
doctypeの指定がない場合はオリジナルモードを使用し、クワークモードと呼ばれ、doctypeの指定がある場合は標準に従うため、スタンダードモードまたはストリクトモードと呼ばれる。この間、Mozillaを代表とする数名が、標準モードでのimgの解析はあまり適切ではないと考え、個人的な意見を保留し、いくつかの特定のdoctypeのケースを指定する場合は準標準モード(Almost Standards Mode)を採用しましたので、Doctypeによるブラウザモードの活性化、または@Dance with the Netの翻訳を参照して下さい。
2.2 各モードの具体的な効果
Quirksモードとstrictモードについては、@ppk bullがうまくまとめてくれています。
3.推奨されるdoctype
<!DOCTYPE HTML>
理由:html5をサポートし、認識されない場合はstrict modeで対応するため。
ブラウザの互換性の問題を解決するために、img { display: block } などのリセットcssを追加します。
なお、現在多くの人が使っている <!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.0 Transitional//EN"> と <!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01 Transitional//EN"> はいくつかの主要ブラウザではクセモードに相当するだけ、つまり省けるものであることに注意してください。
<!DOCTYPE HTML PUBLIC "-/W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1.doctypeとは
doctypeタグは、各htmlの先頭に書かれている、文書のdtd(文書型定義)を指定するためのもので、以下のような形になっています。
<!DOCTYPE RootElement Availability "URI" [declarations]>
いくつかの一般的なdoctypesなど。
HTML 4.01: Strict<!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
HTML 4.01 Transitional<!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose. dtd">
XHTML 1.1 Strict DTD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd">
2. doctypeでできること
doctypeを指定するかしないか、また異なるdoctypeを指定すると、異なるブラウザモードが有効になります。これはhtml、css、jsにいくつかの影響を及ぼし、その中で最も有名なのはいわゆるボックスモデル問題です。
2.1 なぜ複数のモードが存在するのか
時代が流れて戦国時代になったとき、みんなで意見を言い合うと世の中が混乱することがわかったので、味方をつけようという話になり、w3cが政権をとることになったのです。しかし、また問題が出てきて、例えばIEは、もはや優位に立つことはできず、標準に合わせる流れになっていますが、ブラウザが標準にしか対応していないと、これまでの多くのページが何らかの問題を起こすことになるのです。
doctypeの指定がない場合はオリジナルモードを使用し、クワークモードと呼ばれ、doctypeの指定がある場合は標準に従うため、スタンダードモードまたはストリクトモードと呼ばれる。この間、Mozillaを代表とする数名が、標準モードでのimgの解析はあまり適切ではないと考え、個人的な意見を保留し、いくつかの特定のdoctypeのケースを指定する場合は準標準モード(Almost Standards Mode)を採用しましたので、Doctypeによるブラウザモードの活性化、または@Dance with the Netの翻訳を参照して下さい。
2.2 各モードの具体的な効果
Quirksモードとstrictモードについては、@ppk bullがうまくまとめてくれています。
3.推奨されるdoctype
<!DOCTYPE HTML>
理由:html5をサポートし、認識されない場合はstrict modeで対応するため。
ブラウザの互換性の問題を解決するために、img { display: block } などのリセットcssを追加します。
なお、現在多くの人が使っている <!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.0 Transitional//EN"> と <!DOCTYPE HTML PUBLIC "-/W3C//DTD HTML 4.01 Transitional//EN"> はいくつかの主要ブラウザではクセモードに相当するだけ、つまり省けるものであることに注意してください。
関連
-
指定した行の無線ラジオボックスをチェックし、その行までスクロールするLayuiフォームの実装コード
-
フォームのデフォルトの送信方法を変更する方法
-
入力におけるid属性とname属性の違いの例
-
htmlにおけるtextareaの利用方法とよくある問題点・ケーススタディ
-
ページ内ジャンプの手法を実現するためのタグのname属性とid属性
-
metaタグ詳細説明(metaタグの役割)
-
htmlテーブルの使用(ページの視覚効果を出現させるため)
-
html タグ dl dt dd 使用説明書
-
Webのフロントエンドでよくある攻撃とその防止方法
-
HTMLチュートリアル。画像サイズ整列間隔ボーダー属性修正方法紹介
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Html階層型ボックスシャドウ効果サンプルコード
-
HTMLでスクリーンショットを撮影し、ローカル画像として保存するための実装コード
-
html+cssによる階層型ピラミッドの作成例
-
あなたを救うもの、私の食卓(海友ブログ)
-
bodyの属性 bodyタグの主な属性をまとめてみました。
-
IE6のフォントが定義できない 13pxは無効です。IE6では自動的に大きなフォントが表示されます。
-
Web画像フォーマットPNG、JPG、GIFの選び方・使い方
-
あまり使われないけど便利なXhtmlタグ
-
html css 制御 div または table を実装方法の指定位置で固定する。
-
shtmlとhtmlの違いについて