私は仕事のためにこれを確認しようとしているので、IE7 と IE8 でテストするために別の VM を用意する必要はありません。私はいつも IE9 の開発者ツール (F12) を使用し、ブラウザー モードとドキュメント モードを変更して IE7 と IE8 のテストを行ってきました。
これを「実際の」IE7 および IE8 で実際にテストした場合と比べてどうでしょうか? 比較を行ったり、これを詳しく説明した記事を読んだりした人はいますか?
IE7 と IE8 のレンダリング エンジンは IE9 にそのまま含まれていて、代わりにそれらのエンジンが使用されるだけだと思います。他に知っておくべきことはありますか?
ベストアンサー1
私は常に本物のブラウザを使用しています。IE 9 の IE 7 モードが本物の IE 7 と異なる動作をする例が 3 つあります。
ここ透明な PNG がフェードアウトおよびフェードインするページです。実際の IE 7 では、画像の端が暗くなっているのがわかります。IE 9 の IE 7 モードでは、このような状態になりません。
Base64 イメージは実際の IE 7 では動作しませんが、IE 9 の IE 7 モードでは動作します。ここ自分でテストして確認できるページです。
ここCSS が適用された段落を表示するページです
zoom: 1px;
。実際の IE 7 では、段落は非常に小さく表示されます。IE 9 の IE 7 モードではそうではありません。
また、IE 9 の IE 8 モードが実際の IE 8 とは異なる動作をする例が 12 個あります。
ここ256px × 256px の画像を 50px × 50px に拡大して表示するページです。実際の IE 8 では、エッジは滑らかに見えます。IE 9 の IE 8 モードではそうではありません。
CSSバグ9ジェームズ・ホプキンスによる IE 8 のバグ一覧(JHIE8B) は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「MS Sans Serif フォントを使用すると、箇条書き(塗りつぶされた円)リスト マーカーが誤ってレンダリングされる」です。
JHIE8B の CSS バグ 15 は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「A 要素にネストされた IMG (vertical-align:baseline が指定され、テキストを含む兄弟行ボックスがない) を含むインライン ボックスのディセンダー スペースが、 にのみ描画される
:hover
」です。JHIE8B の CSS バグ 22 は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「
content
属性が動的に挿入されたときにプロパティが属性の値を返さない」です。JHIE8B の CSS バグ 31 は IE 9 の IE 8 モードには影響しません (テストケース)。バグの説明は、「@import を使用してスタイル ルールをインポートする場合、マーカー ボックスは、そのスタイルが関連付けられている要素から継承されません」です。
JHIE8B の CSS バグ 38 は IE 9 の IE 8 モードには影響しません (テストケース
float
)。バグの説明は、「値、max-height
値、およびoverflow
の値を含む要素に一致するルール セットにより、scroll
ページが完全に空白になる (強制標準モード)、または互換表示フォールバックがトリガーされる」です。JHIE8B の CSS バグ 56 は IE 9 の IE 8 モードには影響しません (テストケース)。バグの説明は、「包含ブロックのスタック レベルがドキュメント ツリー内のデフォルトの後ろから前の順序を反映するようにリセットされたときに、相対的に配置された子孫 (その包含ブロックよりもスタック レベルが低い) のスタック コンテキストが祖先
:hover
(または) で再計算されない」です。:active
JHIE8B の CSS バグ 57 は IE 9 の IE 8 モードには影響しません (テストケース)。このバグの説明は
visibility:hidden
「どちらか親の終了タグの直前または親の開始タグの直後に続くそして親の終了タグの直前に置き、とtext-decoration
の値が行ボックスに適用されることを防ぎます。underline
overline
JHIE8B の CSS バグ 60 は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「要素に相当する匿名テーブル オブジェクト内のテキスト
table-cell
は選択できません」です。JHIE8B の CSS バグ 62 は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「半透明で、
overflow:hidden
親ボックスからオーバーフローしたときにその内容が切り取られる(親に適用された)要素では、オーバーフローの境界となる外側の端に沿って 1 ピクセルの透明度に関連したブリードが発生します」です。JHIE8B の CSS バグ 65 は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「 が疑似要素
background-image
に適用されている場合:first-child
、関連する要素に適用された別の がbackground-image
表示されない」です。JHIE8B の JavaScript バグ 1 は IE 9 の IE 8 モードには影響しません (テストケース、代替テストケース)。バグの説明は、「ループ外の
querySelectorAll
ステートメント内で使用すると、プログラム全体がクラッシュする」です。break
for
複数の仮想マシンが必要になるのは少々不便ですが、少なくとも無料だ、VirtualBox でも動作します。
編集1 (2012-08-21 19:40:46Z):IE 9 の IE 8 モードが実際の IE 8 とは異なる動作をする例を追加しました。
編集2 (2012-11-16 08:11:42Z):IE 9 の IE 7 モードが実際の IE 7 とは異なる動作をする最初の例のリンクを更新し、3 番目の例を追加しました。
編集3(2012-11-22):IE 9 の IE 8 モードが実際の IE 8 とは異なる動作をする例を 11 個追加しました。