2015.10.09

【html5】<head>タグ内に記述するべきコード(ie対策)

Category: html5

Tags,

headタグ内のよく使う設定をまとめました。
cssやjsも参考程度に載せてあります。
場合によってできない事もありますが、スクリプトタグはページのレンダリングをブロックするので、bodyタグの直上に記述しておくのも良いと思います。

<head>
	<meta charset="UTF-8">
	<title>サイトタイトル</title>
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="keywords" content="">
	<meta name="description" content="">
	<meta name="viewport" content="width=device-width">
	<link rel="stylesheet" href="css/style.css">
	<!--[if lt IE 9]>
	<script src="//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv.min.js"></script>
	<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
	<![endif]-->
</head>

ie8以下はメディアクエリやhtml5のタグをそのままでは認識してくれないので、[if lt IE 9] 内にhtml5shiv.js、respond.jsを読ませ対策をしています。互換表示させないようにする「IE=edge」と合わせて記述しておけばタグ周りの問題は大丈夫じゃないかなと思います。
これでレイアウトが崩れていたら、おそらくcssやjs側の問題だと思います。

ie8以下の場合はhtmlタグにieというクラスを付ける

<!doctype html>
<!--[if lt IE 9]> <html lang="ja" class="ie"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]> <!-->
<html lang="ja"> <!--<![endif]-->

htmlタグに条件分岐を追加しie8以下の場合は、htmlタグにieというクラスを付ける事もできます。
ie8以下のみでcssのレイアウト崩れが見られる場合は、
これを利用してスタイルを上書きする方法もあります。

参考リンク