ホームページ作成/HTML・スタイルシート(CSS)の基礎

DOCTYPE宣言がないとIE7でも表示は古いまま(4ページ目)

HTMLの先頭にDOCTYPE宣言がありますか? ないと、Internet Explorerでスタイルシートを活用できません。最新のIE7でもこの宣言がなければ以前と同じ表示になってしまいます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

補足:XHTMLを使う場合の注意点

■XML宣言を書くとIE6で困る

XHTMLを使う場合は、文法上、DOCTYPE宣言よりも前に「XML宣言」と呼ばれる記述が必要です。 ところが、IE6では、DOCTYPE宣言の前に余計な記述があると、DOCTYPE宣言を無視してしまいます。 (Mac版のIE5や、Windows版でもIE7は問題ありません。)

XML宣言を1行目に記述したXHTML1.1のDOCTYPE宣言は、以下のようなものです。(文字コードがSHIFT-JISの場合)

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

先頭にXML宣言を書いてしまうと、IE6ではDOCTYPE宣言を無視してしまうため、「互換モード」で表示されてしまいます。 ですから、(IE6でも標準モードで描画させたければ)XHTMLを使う場合はXML宣言を省略して、以下のように記述しましょう。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

■文字コードがUTF-8なら文法的にも省略できる

XHTMLファイルの文字コードが「UTF-8」の場合は、XML宣言を省略できることになっています。 ですから、文字コードをUTF-8にしてXHTMLを記述した上でXML宣言を省略するなら、 文法的にも問題なく、IE6でも問題のないXHTMLになります。

■文字コードがそれ以外でも、実質問題にはならない

文法上はともかく、実際にはXML宣言を省略しても、「標準モードで描画させる」という点に関しては問題ありません。 文字コードがSHIFT-JISなXHTMLでXML宣言を省略しても、どのブラウザも「標準モード」で描画してくれます。 ですから、XHTMLを使う場合は、どんな場合でもXML宣言を省略しておくという方法もあります。

XHTMLのDOCTYPE宣言

XHTML 1.1 以外のDOCTYPE宣言でも、標準モードで描画されます。 たとえば、以下のようなものが使えます。

●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.0 Transitional

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

●XHTML Basic 1.0

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">

XHTML Basicは、携帯端末向けのXHTMLです。 PC上のブラウザでも、標準モードで描画されます。 携帯端末上でどのように表示されるかは、各端末のブラウザによって異なります。
携帯端末向けページなら、IE6で表示させる必要はあまりないでしょうから、DOCTYPE宣言の前にXML宣言を書いておいた方が良いかもしれません。

XML宣言は、文字コードがSHIFT-JISコードなら

<?xml version="1.0" encoding="Shift_JIS"?>

 

と記述します。EUCコードなら

<?xml version="1.0" encoding="EUC-JP"?>

と記述します。JISコードなら

<?xml version="1.0" encoding="ISO-2022-JP"?>

と記述し、UTF-8なら(省略可能ですが)

<?xml version="1.0" encoding="UTF-8"?>

と記述します。
XHTML 1.1の場合でも、XML宣言のversion属性の値には上記のように「1.0」と書きます。 (XHTMLとしてのバージョンとXMLとしてのバージョンは別なため。)

<< 記事2ページ目に戻る
<< 記事3ページ目に戻る


【編集部おすすめの購入サイト】
楽天市場でホームページ作成関連の書籍を見るAmazon でホームページ作成の参考書を見る
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます