HtmlにおけるDOCTYPEの定義


フロントエンドに接触したばかりでなく、Webフロントエンドが開発したコンテンツに精通している場合でも、htmlを書くときにドキュメントのタイプを定義する必要があることを知っておく必要があります.それがなければ、ブラウザがページをレンダリングするときに奇妙なモードを使用することを知っています.各ブラウザが奇妙なモードで各要素をレンダリングするのに違いがあることを知っています.このようなdoctypeを書くことができます
?
View Code  HTML
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

幸いなことに、現在の様々なweb開発ツールは十分に強く、テンプレートコードの挿入をサポートしているので、この長くて臭いdoctypeをアルファベットごとに叩く必要はありません.しかし、それにうんざりしている場合は、次のような書き方を試してみることができます.
?
View Code  HTML
1
<!DOCTYPE html>

わあ、簡潔ですね.メリットは明らかです.一、このdoctypeを簡単に書くことができて、間違いを心配する必要はありません.二、あなたは大体105バイトの文字を節約して、1つの毎日のPVが千万級に達するサイトに対して、それはかなり客観的な流量を節約することができます;三、それは後方互換性があります.はい、html 5のdoctypeはこのように書かれています.現代のブラウザはそれを知っています.
もしあなたが私と同じようにdtdを指定していないとブラウザの奇妙なモードを開くと思っていたら、この言い方は間違っています.正確にはdoctypeを定義していないと変なモードが開くはずです.つまり、定義するだけです.doctype html>を使用すると、ブラウザがdtdのタイプを指定することなく、厳格なモード(標準モード)でページをレンダリングできます.すべてのブラウザには、奇妙なモードと厳格なモード(標準モードとも呼ばれる)の2つのモードが必要です.IE 6 for Windows/mac、Mozilla、Safari、Operaの2つのモードが実現されていますが、IE 6以下のバージョンは永遠に奇妙なモードに設定されています.2つのモードについて、以下の点を知る必要があります.
標準化前に書かれたページにはdoctypeはないので、doctypeがないページは変なモードでレンダリングされます.
逆に言えば、web開発者が加入したdoctypeが、彼がしなければならないことを知っていることを説明すると、ほとんどのdoctypeは厳格なモード(標準モード)を開き、ページも標準に従ってレンダリングされます.
新しいdoctypeまたは未知のdoctypeは、厳格なモード(標準モード)をオンにします.
各ブラウザには、奇妙なモードをアクティブにする独自の方法があります.このリストを見てください:http://hsivonen.iki.fi/doctype/ 注意:選択したdoctypeに基づいてページを検証する必要はありません.doctypeラベルが存在する限り、厳格なモード(標準モード)を開くのに十分です.もしあなたが私の言ったことに疑問を持っているなら、http://www.quirksmode.org/css/quirksmode.html#link2に行ってあなたが知りたい内容を理解してください.JavaScriptコードの一部だけで答えが得られます.
?
View Code  JAVASCRIPT
1
mode=document.compatMode;

このコードは、現在のブラウザが怪異モードにあるか標準モードにあるかを判断するために使用することができ、この属性の互換性は疑いの余地なく、http://www.quirksmode.org/dom/w3c_html.html#t11を表示することができます.テストしたいブラウザでアクセスできます:http://wanz.im/demo/doctype-test.html、結果が表示されます.私の知っている限りでは、怪異モードはアクティブではありません.ie 6でも、何か新しい発見があれば、メッセージをください.