1. ホーム
  2. Web制作
  3. HTML/Xhtml

DOCTYPE 文書型宣言(Web好き必見)

2022-01-30 18:40:03
文書型宣言
各ページの先頭には、文書宣言が必要です。はい、必要です。
ドキュメントタイプを指定しないと、HTMLは合法なHTMLではなく、ほとんどのブラウザはページをquot;quirks mode,"で処理します。HTMLの達人になって地球上のすべての人を打ち負かすことも、HTMLが完璧でCSSが完璧であっても、文書宣言がなければ、あるいは文書宣言が間違っていれば、あなたのページは近視の片目のテナガザルの赤ちゃんが一生懸命積み上げたのと変わらないのです。
XHTML 1.0 Strictの文書宣言は次のようになります。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
以下は、XHTML 1.1の文書宣言ですが、XHTMLの最新版として、より完璧に見えますが、まだいくつかの問題があり、次に少し説明します。
<!DOCTYPE html PUBLIC "-/W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
DOCTYPEタグは大文字で、その前に英語の半角エクスクラメーションマークを付けなければならないことに注意してください! これはルールを破る唯一のタグであり、閉じる必要はありません。
言語宣言
htmlの開始タグ内にHTTPヘッダーやxml:lang属性が設定されている場合でも、文書の主言語を指定する必要があります。これは、正規の XHTML 文書を扱うためには必須ではありませんが、使い勝手を考慮したものです。値は、en(英語、English)、fr(フランス語、French)、de(ドイツ語、German)のように省略されます。
主に英語のコンテンツを含む文書を宣言する例は、次のようになります。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
主言語を宣言した後、他の言語を使用する必要がある場合は、xml:lang属性をインラインで使用することもできます(例: <span xml:lang="de">HTML Hund</span>).
コンテンツタイプ
HTML文書のメディアタイプやフォントセットを指定したい場合は、以下のようなHTTPヘッダを使用します。
Content-Type: text/html; charset=UTF-8
HTTPヘッダーの最初の部分(例:text/html)は、ファイルのMIMEタイプで、ブラウザにファイルのメディアタイプを知らせ、そのファイルをどう扱うかを知ることができるようにするものです。すべてのファイルにはMIMEタイプがあり、JPEG画像はimage/jpeg、CSSファイルはtext/csss、HTMLは一般にtext/htmlが使用されます。
HTTPヘッダーの2番目の部分(例:UTF-8部分)は、文字セットです。
HTTPヘッダーを設定する最も簡単な方法は、おそらく次のようにHTMLの"HTTP-equivalent"ヘッダータグを使用することです。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
以下は一般的な文書宣言で、実際、dreamweaverのデフォルトはこの宣言です。
コピーコード
コードは以下の通りです。

<!DOCTYPE html PUBLIC "-/W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Untitled document</title>
</head>
<body>
</body>
</html>

以下は、スクリプトハウスの追加部分です。
cssの宣言と非宣言では、ページの制御が異なることになります。言うまでもなくw3c標準などにも準拠しません。なので、全て追加することをお勧めします。そうすることで、あなたのサイトのマルチブラウザ対応が可能になります。
javascriptの影響はさらに大きくなり、これまで書かれていたjsコードが正しく動作しなくなる可能性があります。特に連番広告とか。実際、一般的に、以下の問題には注意を払うといいでしょう。
宣言されていない場合、document.body.scrollTopは通常使用されます。
document.documentElement.scrollTopで文書型を宣言した場合。
以下は参考資料です。
クロスブラウザ対応のjavascriptコード記述に必須【jsマルチブラウザ対応記述】について
javascript firefox互換のie domメソッドスクリプト
これはいろいろと便利なので、もっと検索してみてください。