[PR]テレビ番組表
今夜の番組チェック

Internet Explorer (MacOS) CSSバグリスト

displayプロパティで未対応の値を無視しない(IE4.1)

症状

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ではどうなのか。追試求む。