じゃんぬねっと日誌

ネタと雑記と時々プログラミング

目次

Blog 利用状況

ニュース

不況すぎる件。

スポンサードリンク

運営サイト

  • C# と VB.NET の入門サイト

書庫

IE6 さんと離婚して IE7 さんと再婚したいのですが...

世の中には様々な Web ブラウザがあります。これらはそれぞれクセがあり HTML や CSS の解釈方法も様々です。それゆえに Web ブラウザを騙すような手段 (たとえば CSS ハック) などが生まれることになりました。その中でも IE (IE7 よりも前のバージョン) がもたらした影響は大きいでしょう。

作り手側からすると『IE さんなんて最初から存在しなければ良かったのに』と本気で吐露したくなることが多々あります。現実では IE6 がないとまともに閲覧できないサイトもあり IE は必要ではあるのですが『最初から存在しなければこんなことにはならなかったのでは?』とも思うからです。(なんか離婚直前の夫婦の心境みたいだw)

たとえば、私は今とある画像にテキストを回り込み (Floating) させ、次ブロックでの Top margin による調整 (Clearance) で四苦八苦しています。Firefox や Opera では、フツーの HTML/CSS を書けばいとも簡単にできるのですが IE6 ではレイアウトが崩れます。(ちなみに、ねすけはもっとひどい) このレイアウト崩れは改行コードによる悪さという非常に有名な問題で対処することはできました。しかしブラウザのウィンドウ サイズを変更していたりすると、描画が一部されず真っ白になってしまいます。

いろいろ調べてわかったのは、DIV 要素で左右に分割したレイアウトでは回り込みの際の描画がウィンドウのサイズによっておかしくなるということでした。一旦その描画されない領域外にスクロールして元の位置に戻すと描画されます。ああ! もう! そんな問題はコードでは対応できねーな、できねーよ。(By 桃白)

再現するための条件がわかっても『なぜそうなる?』『どうすればいいの?』になってしまうのが、こういう問題の素晴らしいところ。今回レイアウトをブラウザによって切り分けるなんて妥協には何の意味もないので、諦めて別のレイアウトで考えることにしました。まあ、十中八九こういった場面では諦めるのが 1 番ですね。

それにしても描画されなくなるとか... ひどい。(見せたくても見せられないので何かサンプルをうpしてみようかな)

投稿日時 : 2008年6月21日 14:29

コメントを追加

# イメージが沸きそうで沸かないので・・・ 2008/06/21 14:49 ROM

>見せたくても見せられないので何かサンプルをうpしてみようかな
おながいしまふ

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 15:02 じゃんぬねっと

もしやと思って (似たようなレイアウトなので) 自分のサイトで試してみたら再現しました。
この記事で問題としていた事例と、回り込ませる対象のサイズが違うので気づきませんでした。

このページでウィンドウの幅を小さくしていくと再現すると思います。
http://jeanne.wankuma.com/tips/csharp/all.html

クリアランスしていないという違いはありますが、現象的には類似した問題ですね。(クリアランスしてもダメでした)
スクロール後に元の位置に戻すとちゃんと描画される点も同じです。
この手の問題はこの Blog で pre 要素を使った時にも散見されるので float だけの問題ではないかもしれません。

いずれにしても IE7、Firefox、Opera では再現しないのは確認しました。

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 15:04 じゃんぬねっと

リンクに触れるだけで描画されたりされなくなったりするので、描画の問題なのは確かのようです。

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 15:22 Hirotow

例のページIEで幅200とかだと描画されないタブが出てきますね。
あと、ネガティブマージンを使った要素のborderが描画されないバグもあります。

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 15:39 じゃんぬねっと

> 例のページIEで幅200とかだと描画されないタブが出てきますね。
そこは wrap を防ぐために苦肉でそうしているので、今回の問題とはたぶん関係ないです。
(いやいずれは苦肉でない方法で直したいと思っていますが)

> あと、ネガティブマージンを使った要素のborderが描画されないバグもあります。
? float したブロックには padding, border を使ってはならない問題なら知っていますが、これはなんでしょう?

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 15:43 じゃんぬねっと

float はなるべくなら使うなと言われているのは知っていましたが、ここまであるとは...
http://www.techdego.com/2007/05/float_property_negative_margin_css.php

ほとんど IE の(ry
時間を見つけて検証してみようと思います。

今日はそんな気力ないや... これ以上 HTML / CSS と向き合っているとファビョってしまう。

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 18:34 ネタ好き未記入

ちょっと話し変わるけど、Firefox3で落ちまくらない?
それもタグが原因かなぁ

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 19:28 かつのり

最近は、標準ブラウザとIEと区別されるようになってきたような気がする。
IEを使い続けてますが、ホントごみだと思う。

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/21 21:53 じゃんぬねっと

ごみwww

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/22 19:34 ネタ好き未記入

>IE6 さんと離婚して IE7 さんと再婚したいのですが...

IE6「酷い!私の事は遊びだったの!直ぐ新しい女に乗り換えるなんてサイテー。離婚はしないから!」

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/22 20:35 ネタ好き未記入

IE7「早く先方との契約を打ち切りなさいよ。私のおなかにはもう既に新商品できているのよ。」

# re: IE6 さんと離婚して IE7 さんと再婚したいのですが... 2008/06/22 20:40 ネタ好き未記入

Firefox)「あら?じゃんぬさん私の事はお忘れなく。得体の知れない(ソースコードが公開されていない)女よりも、私の方が貴方にふさわしいと思うけど。でもまぁ、愛人でも愛さえくれればよろしくてよ。」

タイトル  
名前  
URL
コメント