pre要素とoverflowとMacIE

昨日、pre要素にoverflow:scrollを指定するようスタイルシートを変更してみたのですが、その後で首領さんからの指摘あり。

要素内容が消えてしまうとは。うーむ。

そもそものpre要素のスタイルを変更した理由は、WinIEでは当サイトのスタイルで出てくる右の枠線がpreの内容幅の分だけ横に飛ばされてしまうからでした。Mozillaでは枠線の位置は変わらないのですが。

で、なんとか右枠線がそのままになるようにと色々試した結果がoverflow:scrollだったのです。しかし内容が消えてしまうのはスタイルが崩れるよりまずいことであり、しばし黙考。で、三日坊主++の部屋注意点,ブラウザ振り分けを参考に、MacIEにはoverflow:scrollの指定が効かぬよう、

@media screen {
  pre { overflow:scroll; }  /* * *MacIEよけ* * */
}

としてみました。

その後、近所のPC店に出かけてMacIEでの表示を確かめてみたところ、果たしてWinIEで起こっていたような右枠線飛びもなく、Mozillaと同様枠線はそのままでpreの内容がはみ出した表示となってたので、胸をなでおろした次第。

※WinIEがこのへん直してくれればoverflow:scrollを指定せずに済むのですが。

(2002年5月6日)

追記: 現在はSSIによりブラウザ判別を行い、WinIE5,6には別のスタイルシートを読ませる方法をとっています。WinIE5用のシートのみにpre { overflow:scroll; }を適用し、@media screenは外しました。

(2002年7月9日)

北村曉 kits@akatsukinishisu.net