2010.05.11
ishi

htmlバグ④

htmlのバグについての記事も4回目になります。

今回は趣味の音楽のこととかを書こうかとも思ったのですが、
見てても面白くないと思うので、いつも通りhtmlのバグについて書いていきます。

今回はリストの改行バグです。
以下のサンプルソースを見てください。

<ul>
 <li><span style=”display:block; margin:0; background-color:#999999″>サンプル1</span></li>
 <li><span style=”display:block; margin:0; background-color:#999999″>サンプル2</span></li>
</ul>

実行結果

IE6

IE6

IE7

IE7

IE8

IE8

上記のようにリストアイテムに「display」でブロック化した要素を含むと、
IE6でサンプル1とサンプル2の間に空の改行が挿入されてしまいます。

回避方法は以下です。

<ul>
 <li><span style=”display:block; margin:0; background-color:#999999; padding: 1px;”>サンプル1</span></li>
 <li><span style=”display:block; margin:0; background-color:#999999; padding: 1px;”>サンプル2</span></li>
</ul>

実行結果

IE6

IE6.2

IE7

IE7.2

IE8

IE8.2

回避できました。
他にもHTML上の改行をなくしたり、border、heightプロパティでも回避できます。

しかし、HTML上の改行をなくすと非常に見にくいです。
paddingを使う回避方法が一番いいのかもしれません。
今までいろいろバグについて書いてきましたが、
一番バグが多いのはやはり、float要素に対してかと思います。
そしてその中でも圧倒的にIE6で崩れます。

いろいろ調べていてバグを知らせる方法という記事などがありましたが、
自分はかいてあることがよくわかりませんでした^^;

バグを発生させないようにHTMLを書けば回避できるものは回避できるので
これからも気をつけながら書いていきたいと思います。

まだまだIE6に対しては対応が必要みたいです。

次回からは本当に違うことを書きたいとは思います。
現時点では書くことはなにも決まってないですが…。

ishi

一覧に戻る