2009 年 3 月 20 日、Microsoft は Windows Internet Explorer 8 (IE8) の正式版を全世界にリリースし、注目を集めました。 IE8 は、これまでで最も標準に準拠したバージョンで、Cascading Style Sheets (CSS) レベル 2.1 を完全にサポートし、CSS 3、HTML 4.01 のサポートが強化されており、HTML 5 も十分にサポートできます。これらの HTML 要素のサポートが強化されたおかげで、Web 開発者はより表現力豊かでアクセスしやすい HTML マークアップを作成できるようになりました。この記事では、IE8 での HTML および CSS サポート動作の変更点と、これらの変更が Web 開発者に与える影響について説明します。
HTMLの改善
開発者が HTML 4.01 によって提供される要素を最大限に活用し、Web 開発者が表現することを期待するセマンティックな意味をより適切に解釈できるようにするために、Windows Internet Explorer がアップグレードされ、次のプレゼンテーション要素がサポートされました。
P は要素の終了タグを自動的に追加します
終了タグのない P 要素の後に、TABLE、FORM、NOFRAMES、または NOSCRIPT 要素が続くと、すぐに終了タグが自動的に追加されます。
<html>
<頭>
<title>単純な P 要素の終了例</title>
<meta http-equiv="X-UA 互換" content="IE8"/>
</head>
<本文>
<p>これは最初の段落です</p>
<p style="margin-left:30px">これは 2 番目の段落です。 <!-- P が閉じていません -->
<table border="1px" cellpadding="2px"><tr><td>これは表のセルです。 </td></tr></table>
<p>これは 3 番目の段落です。 </p>
</body>
</html>
この例では、2 番目の P 要素に終了タグがありません。 Windows Internet Explorer 7 を使用して表示すると、TABLE 要素は 2 番目の P 要素の子として表示されます。 2 番目の P 要素は、ウィンドウの左マージンから 30 ピクセルの位置にインデントされます。 TABLE は P 要素の子であるため、ウィンドウの左マージンからもインデントされます。ただし、Windows Internet Explorer 8 のデフォルト モードで表示すると、TABLE 要素は左余白に揃えられます。 Windows Internet Explorer 8 では、TABLE 要素を表示する前に、P 要素の欠落している終了タグが自動的に追加されるため、IE8 では TABLE 要素は 2 番目の P 要素の子要素ではありません。
OBJECT要素を使用して画像を表示する
Windows Internet Explorer 8 では、OBJECT 要素を使用して画像を表示できます。この要素を使用して古いブラウザで画像を表示すると、画像にスクロール バーや境界線が自動的に追加されることが多く、画像が正しく表示されないことがあります。
Windows Internet Explorer 8 では、OBJECT 要素は、IMG 要素を使用して埋め込まれたかのようにイメージを表示します。この動作を Web ページで使用するには、OBJECT 要素の DATA 属性を画像の URL に設定します。 dataURL を DATA 属性に埋め込むこともできます。
Windows Internet Explorer で古い動作を使用する OBJECT 要素に画像を読み込むようにするには、Web ページに対して古い互換モードを選択するか、OBJECT 要素の TYPE 属性を text/html に設定します。