1. Home
  2. スタイルシート CSS
  3. CSSの基本
  4. 表示モードによる解釈の違い

表示モードによる解釈の違い



表示モードの違い

一般的なブラウザには、「標準モード」と「互換モード」という2つの表示モードが備わっています。これは、DOCTYPE宣言の記述にURIを含めるかどうかによって、自動的に切り替わる仕組みになっています。

この表示モードの違いは、スタイルシートの解釈にも影響を及ぼすケースがあります。以下の項目では、デザインに影響を及ぼすと思われる代表的な「解釈の違い」をご紹介します。

※動作確認に使用したブラウザは、IE 7、Firefox 2、Opera 9 です。バージョンによっては動作が異なる可能性があります。

ボックスのサイズ

ボックスのサイズ(widthheight)を指定する場合、標準モードと互換モードでは次のような解釈の違いがあります。

※この解釈の違いはIEで発生します。FirefoxとOperaでは、どちらのモードでも「標準モード」側の解釈となります。

  • 標準モードwidthheight で指定するサイズには、境界線やパディングを含みません。
  • 互換モードwidthheight で指定するサイズには、境界線やパディングが含まれます。

例えば、width: 100pxpadding: 10px を指定した場合は、ボックス全体の幅は次のようになります。

  • 標準モード … ボックス全体の幅は120pxになります。
  • 互換モード … ボックス全体の幅は100pxになります。

※標準モードでは、width: 100pxpadding: 10px が両サイドに加わるので、ボックス全体の幅が120pxになります。

違いのサンプル

同じスタイルを指定した場合でも、表示モードの違いによりボックスの大きさはかなり異なります。(IEとOperaの場合のみ)

ブロックレベル要素のセンタリング

ブロックレベル要素をセンタリングする場合、標準モードと互換モードでは次のような解釈の違いがあります。

※この解釈の違いはIEで発生します。FirefoxとOperaでは、どちらのモードでも「標準モード」側の解釈となります。

  • 標準モード … 左右のマージンに auto を指定するとセンタリングされます。(同時にボックスの幅を指定しておく必要があります)
  • 互換モード … 左右のマージンに auto を指定してもセンタリングされません。

※互換モードでセンタリングさせたい場合は、親ボックスに text-align: center を指定します。

違いのサンプル

div要素に対して、width: 50%; margin-left: auto; margin-right: auto; を指定しています。標準モードではセンタリングされますが、互換モードではセンタリングされません。(IEの場合のみ)

フォントサイズ

フォントサイズを数値ではなくキーワードで指定する場合、標準モードと互換モードでは次のような解釈の違いがあります。

※この解釈の違いはIEOperaで発生します。Firefoxでは、どちらのモードでも「標準モード」側の解釈となります。

  • 標準モードmedium が標準の文字サイズと一致します。
  • 互換モードsmall が標準の文字サイズと一致します。
キーワード 標準モード 互換モード
xx-large
x-large
large
medium 標準の文字サイズと一致
small 標準の文字サイズと一致
x-small
xx-small

例えば、font-size: medium を指定した文字サイズで比較した場合、「標準モード」では標準のサイズと一致するのに対して、「互換モード」では標準より一段階大きいサイズで表示されることになります。

違いのサンプル

font-size: xx-largefont-size: xx-small を指定しています。互換モードでは一段階大きいサイズで表示されます。(IEとOperaの場合のみ)


CSSの基本

ページの先頭へ


inserted by FC2 system