HTML5のタグ
article や nav、header や footer など、HTML5から追加されたタグは、IE8以下では認識されません。
なぜならば、その新しいタグは「タグ」として本来より用意されていないからです。
開発者からしてみたら迷惑な話ですね!
createElement
それを認識させるためのコードがこちら↓
1 2 3 4 5 6 7 |
<!--[if lt IE 9]> <script> document.createElement('article'); document.createElement('nav'); document.createElement('header'); document.createElement('footer'); <![endif]--> |
[if lt IE 9]というのは、「もしIE9よりもバージョンが低かったら」という意味です。(ltは「less than」)
そして createElement は指定の名前の要素をつくるメソッド。
つまり article という要素をつくる、nav という要素をつくる……というのをひとつひとつやっているわけですね。
<head> の中に記述する形になります。
html5shiv
なんと便利なことに、その createElement を自動的に全てのHTML5タグに適応してくれるライブラリがあります。
googleが用意してくれている html5shiv です。
1 2 3 |
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> <![endif]--> |
これを使えば1行でHTML5のIE8対策が可能になります!
ありがたいですね〜
HTML5を学ぶのにオススメな本
IE対策も含めてHTML5について初心者向けに出版されたこちらの本、わかりやすくてオススメですよー!
HTML5初心者〜中級者の方はぜひご一読を(^^)