displayプロパティに未対応の値(block, inlineなど)が指定されると、その値を無視せずに初期値で上書きしてしまう。
<style type="text/css">
span#a {
display: none;
}
span#a {
display: inline;
}
</style>
<span>見える?</span>
MacIE4.1ではnone(対応)を反映、inline(未対応)を無視するため、span要素は表示されないはずです。noneとinlineの双方に対応したUAでは、noneがinlineで上書きされるので、span要素は表示されます。
MacIE4.1で発生する模様。
[MacIE4.1]
IE4はdisplayプロパティの値inlineやblockには未対応だとされる。
cf.http://www.zspc.com/documents/css2/display/display.html
そこで一計を案じて、IE4で表示が崩れる元となる部分をspanで括って、
IE4では消して、IE5以降でのみ表示させようとした。
#div1 span {display:none;}/*Win&MacIE4向け*/
#div1 span {display:inline;}/*ver5以上向け、Win&MacIE4では無効のはず*/
ところがMacIE4.1で見たら、これが意図に反して表示されてしまった。
スタイル指定の二行目を削るとちゃんと消えるが。
どうもdisplayプロパティが未対応の値を持つ場合、そのブロックを無視しないで
上書きするみたいだ。したがってdisplay:none;が効かなくなるらしい。
それって文法違反です。バグですね。
MacIE4.5やWinIE4ではどうなのか。追試求む。