訪問者に優しいWebサイト作り

サイト内検索  

HOME一歩先行くサイト作成編→文書型宣言とブラウザでの表示

文書型宣言とブラウザでの表示

文書型宣言の違いが、ブラウザでの表示にも影響を与える場合があります。これは、特にCSSやJavaScriptを使っている場合に影響が出ます。

では、文書型宣言及びDTDのURL指定を行うかで、表示モードが変化するからです。これは、DOCTYPEスイッチと呼ばれているモノです。

W3Cの標準的仕様に準拠した「標準モード」旧来のブラウザとの互換性のある「後方互換モード」の2つです。

Windows版Internet Explorerユーザの場合、バージョンアップは結構熱心ですので、バージョン6への移行も進みつつあります。Windows版Internet Explorer5.xまでとの表示が異なる場合も出てきますので要注意です。

表示モードによる主な表示の違い

比較的よく使うであろうモノに関してまとめています。
ざっと見てもこれだけの違いがあるとは、、、Netscape4.xとは違う次元で見映えに関する大きな違いが出ます。
見映えをある程度揃えたければ、外部スタイルシート(CSS)をブラウザごとで分けてしまう形を取るのがベターになるかと思います。 

1.CSSの文法解釈のシビアさ

標準モードの方がより正確な記述が求められます。文法違反をしている場合、標準モードではことごとく無視されてしまうのです。WinIE5.xで表示できていたモノが、標準モードでは表示できないなんてこともあり得るのです。

2.text-align:プロパティで、ブロック要素をセンタリング出来るか

ブラウザ 標準モード 後方互換モード
Gecko系 しない する
MacIE5 しない する
IE6 する する
Opera7.x する する

ということで、標準モードではブラウザ間の違いが出てしまう。

3.margin:autoが有効かどうか

ブラウザ 標準モード 後方互換モード
Gecko系 有効 有効
MacIE5 有効 有効
IE6 有効 無効
Opera7.x 有効 有効

これは、WinIE5.xやNetscape4.xでは、CENTER要素や<div align="center">〜</div>といった非推奨の形式で、表組みを中央に配置していたのをmargin:autoという形で置き換えることができるかと点で非常に重要となる。しかし、後方互換モードでは、ブラウザ間の違いが出てしまう。

4.文字サイズの大きさはmediumと同じか

ブラウザ 標準モード 後方互換モード
Gecko系 同じ 同じ
MacIE5 同じ smallと同じ
IE6 同じ smallと同じ
Opera7.x 同じ smallと同じ

従来のブラウザでは標準的な文字サイズはfont-size="3"、すなわちsmallと同じ扱いになっていたが、標準モード及びNetscape6の後方互換モードでは、もう1段階文字サイズが大きな扱いになる。

5.ボックスに対するwidthとheightの値は

ブラウザ 標準モード 後方互換モード
Netscape6.x 正常 正常
MacIE5 正常 padding,border含む
IE6 正常 padding,border含む
Opera7.x 正常 padding,border含む

と、後方互換モードでは、IEの場合paddingとborderを含んでしまう。

文書型宣言と表示モードの関係

以下の表にHTMLの主な文書型宣言と表示モードの関係を記しました。表中では後方互換モードは互換モードと略しています。なお、Netscape7(Mozilla1.0.1以降)からは、準標準モードがあります。HTML4.01 TransitionalのURLありと、XHTML1.0 Transitonal DTDが該当します。

文書型宣言 Gecko系 MacIE5 IE6 Opera7.x
なし、HTML2.0、HTML3.2 互換モード 互換モード 互換モード 互換モード
HTML 4.01Strict(URLなし) 標準モード 互換モード 標準モード 標準モード
HTML 4.01Strict(URLあり) 標準モード 標準モード 標準モード 標準モード
HTML 4.01Transitional(URLなし) 互換モード 互換モード 互換モード 互換モード
HTML 4.01Transitional(URLあり) 標準モード 標準モード 標準モード 標準モード
XHTML(XML宣言なし) 標準モード 標準モード 標準モード 標準モード
XHTML(XML宣言あり) 標準モード 標準モード 互換モード 標準モード

ということは、現在HTML4.01 Strictの文書型定義に基づいた文書を作成している場合は、URLありを選択した方がブラウザ間の表示差は小さくなります。まあ、Strictを選択している以上、HTML文書の作成にはこだわりを持っておられると思います。

HTML4.01 Transitionalの文書型定義に基づいた文書を作成している場合にはURLありなしどちらでもよいことになります。

ただし、過去のブラウザ(WinIE5.x等)との互換性を重視するなら、URLなしの文書型宣言を行っておけば良いでしょう。とくにブラウザ移行期では重要になります。

注:確認がとれていないブラウザがあるため、HTML4.01 Framesetについては表中で解説していませんが、おそらくHTML4.01 Transitionalと同じになるかと思います。理由はTransitionalとFramesetの違いがフレーム関連の要素の有無だけなので。 HTML4.01 Framesetはフレームセットを定義している文書だけに使用するので、見栄えの違いを確認することが出来ません。実際にフレームが使えるブラウザでの表示される文書の文書型宣言はHTML4.01 Transitionalとなります。申し訳ありません。

実例を見てみよう

ここでは、一般的なサイト作成者がよく使う文書型定義であるHTML4.01 Transitionalで説明します。

URLなしの場合  URLありの場合

文書型宣言部分以外は全く同じスタイルシートを適用しています。しかし、表示モードとブラウザの違いによって差が出ることが明らかです。

スタイルシートでの指定は以下の通りです。

body{
background-color:ffcccc; color:#333333;
}
h1{
text-align:"center"; color:ff0000; font-size: 1.2em;
}
table{
margin:auto;
}
.maegaki{
width:600;
}
.atogaki{
width:600px; border-width:1px; border-style:solid; border-color:#ff0000;
padding:10px;
}
.tyusyaku{
color:#993300; font-size:x-small; width:550px;
}

実は間違いがたくさんあります。間違いがわからない方は、CSS関係のサイトで勉強しなおしましょう。

今回、このページを作成するに当たっては、(株)毎日コミュニケーションズ Web Designing02 p.117 大藤幹氏の記事を参考にしましたことをお断りしておきます。

©Copyright 2001-2006 FUMING fuming@neko.chan.ne.jp

リンクに関してはご自由にどうぞ。