CSSで半透明にするときにIEでうまくいかなかった件

CSSで半透明
を参考にdivを半透明にしようと思ったのですが、以下のように書くと、IEだけうまく半透明になりませんでした。

div.test{
	background: #ccc;
	filter:alpha(opacity=65); 
	-moz-opacity:0.65;
	opacity:0.65;
}

そこで、ググってみたところ、以下のページで詳しく紹介してありました。
IEにおいてfilter:alpha(opacity)を設定しても、currentStyle.hasLayout=falseだとが透明にならない。 - Enjoy*Study
半透明にするには、currentStyle.hasLayoutをtrueにする必要があるようで、ページに書いてあるような条件を満たすとこれがtrueになるようです。

CSSで半透明の場合、posision:absoluteだから問題なかったわけで、今回は以下のようにzoom:1を追加することで対処しました。

div.test{
	background: #ccc;
	zoom: 1;
	filter:alpha(opacity=65); 
	-moz-opacity:0.65;
	opacity:0.65;
}

半透明を使うときは、たいていfloatなりposition:absoluteなりを使うことが多いので、今回のこれは盲点でした。