関西大学大学院 総合情報学研究科 博士課程にて情報学を学ぶ傍ら、ホームページに関する書籍の執筆や企業…
HTML・スタイルシート(CSS)の基礎
更新日:2007年01月17日
HTMLの先頭にDOCTYPE宣言がありますか? ないと、Internet Explorerでスタイルシートを活用できません。最新のIE7でもこの宣言がなければ以前と同じ表示になってしまいます。
HTMLの先頭に「DOCTYPE宣言」を記述していますか?
DOCTYPE宣言を省略していると、せっかく最新のInternet Explorer 7で閲覧しても、従来の古いブラウザと同じ表示になってしまいます。
代表的なブラウザの最新版には、描画モードとして、「標準モード」と「互換モード」という2つのモードが用意されています。 この違いは、次の通りです。
最近のブラウザは、HTMLやスタイルシートを仕様通りに正しく解釈して表示できるようになってきています。 しかし、昔のブラウザは、仕様とは異なる誤った解釈で表示してしまうことが多くありました。 そのため、ウェブ上には、その「誤った表示」を基準にして作られたページがたくさんできてしまいました。
そのような中、いきなり最新のブラウザで「仕様通りの正しい解釈」を強制的に採用すると、 「誤った表示」を基準にして作られたページの表示がおかしくなってしまう可能性があります。
そのような問題を避けるために用意されたのが、「互換モード」という描画モードです。 このモードでは、過去のブラウザが誤って解釈していた部分は、それと同じように誤った解釈のまま表示します。
問題なのは、(特にInternet Explorerの場合で)標準モードと互換モードでは、スタイルシートの解釈が大きく異なる点です。 例えば…
…などがあります。
横幅や高さの指定は、細かなレイアウトを実現する上でとても重要です。 この点の解釈が異なるため、「ブラウザによってレイアウトが大きく異なってしまう」原因にもなっています。
最新のInternet Explorer 7(以下、IE7)では、従来は対応していなかった様々な機能(スタイルシートのプロパティなど)が使えるようになりました。 しかし、それは「標準モード」で表示した場合だけの話です。 「互換モード」だと、ほぼ従来のIE6(※)と同様の表示にしかならず、 新しく対応した多くの機能は無効になってしまいます。
※「互換モード」はIE6から導入された機能です。IE6での「互換モード」とは「IE5.5で誤っていた解釈は誤ったまま表示する」という意味です。 IE7の「互換モード」での表示はIE6の「互換モード」での表示とほぼ同じです。 つまり、IE7を使っていても「互換モード」で表示される限りは、 IE5.5と似たような表示になってしまうことになります。
つまり、新しくサポートされた機能(スタイルシートのプロパティなど)を使ったり、仕様書通りの正しい解釈で表示されるようにするためには、 「標準モード」で表示されるようにHTMLを記述する必要があるわけです。
この点を忘れると、いくら最新のIE7を使っても、古いブラウザと同じ表示にしかなりません。
※ここでの「新機能」とは、HTMLやスタイルシートの表示上の機能のことです。「タブが使えるようになった」・「RSSに対応した」・「アルファチャンネルのあるPNG画像が表示できるようになった」などの「ソフトウェアとしての機能」のことではありません。(それらは互換モードでも機能します。)
この「標準モード」と「互換モード」の切り替えは、HTMLの1行目にどのような「DOCTYPE宣言」(ドックタイプ宣言)が記述されているかで決まります。
ですから、最新のスタイルシートを正しく使いたい場合には、最新のHTMLを採用して 正しくDOCTYPE宣言を記述しておく必要があります。
※DOCTYPE宣言によるモードの切り替えが行われるのは、Internet Explorerは 6.x以降(Mac版は 5.x以降)、 Netscape Navigatorは 6.x以降(Firefox 1.x以降)です。
それでは、「DOCTYPE宣言」とは何なのか、どうやって記述するのか?…という点について見ていきましょう。
関連キーワード[PR]
人気ホームページ作成ランキング
Powered by 価格.com
関連キーワード[PR]