a や span など、もともとインラインレベルの要素に対して、display: inline-block; を指定すれば、その要素は inline-block になります
p や div など、もともとブロックレベルの要素に対して、display: inline; と zoom:1; を指定すれば、その要素は inline-block と類似した振る舞いになります
もともと block の要素に対して、display: inline-block を指定しても、hasLayout が true になるだけで inline-block にはなりません。 上記の結果を考えてみると IE 5, 5.5, 6, 7 では、
display プロパティが inline かつ hasLayout が true の要素の表示は 置換要素のようにレンダリングされ、inline-block と類似した振る舞いをする思われる
display プロパティの inline-block は hasLayout を true にするだけで、これを設定しても display の値は変わらないと思われる