IEで一部のCSSだけが効かない時の原因(かも)

こういうケースって俺だけかもしれませんが、さっきまでドハマりしてたので書いておきます。

案件で「display : table-cell」を使ったレイアウトを実装しようとサンプル作りまくって検証してたんですが、IEだけ全然効かない。8、9、10全部。しかもtable-cellのとこだけ効かない。IE8以降対応しているはずだからおかーしーなー。

と思いきや、そもそも検証用の簡易サンプルの作り方が問題だった。

<html>
<head>
 
<style type="text/css">
<!--
 
略
 
-->
</style>
 
</head>
<body>
 
略
 
</body>
</html>

いつもテキストでコーディングするんで、検証する時は必要最低限のことしか書いてないんですが、これがアダに。doctype宣言文をつけなかったのが原因でした。

4.01だろうが、html5だろうが、宣言文を書けばバッチリ反映。基本にちゃんと立ち返らなあかんね…。

ちなみにこの問題、F5のリロードと、URLフォームの再enterとで挙動が異なります。注意。
どうやらF5だと「リロード前に読み込んでいたファイルのdoctypeを継承する」ような動きを見せます(恐らくリロード後のファイルに宣言文が無い場合)。URLフォーム再クリックだったら、ちゃんとページリフレッシュしてくれるようです。

これで2時間くらい費やした…。