【CSS】IE6 リストで隙間が出るバグ
IE7だと問題ないのですが、IE6で出る症状です。リストでナビゲーション作ってるときによく出くわします。←こんな感じで、リストに妙な隙間が出るやつ。margin:0px;にしてもpadding:0px;にしてもこの隙間は一行に消えません。<ul>
<li><a href="#">ナビゲーションA</a></li>
<li><a href="#">ナビゲーションB</a></li>
<li><a href="#">ナビゲーションC</a></li>
</ul>
<li><a href="#">ナビゲーションA</a></li>
<li><a href="#">ナビゲーションB</a></li>
<li><a href="#">ナビゲーションC</a></li>
</ul>
HTMLはこんなかんじ。
対策が分からなかった時は、
<ul><li><a href="#">ナビゲーションA</a></li><li><a href="#">ナビゲーションB</a></li><li><a href="#">ナビゲーションC</a></li></ul>
という感じで、無理やりタグの中の改行を取って治してました。まぁ、これじゃあタグが見づらいので、事情を知らない人が見たら「なにこれ、見にくいわー」と、きっと改行して見やすくなおすかと思います。時間経つと、すっかり忘れてしまって、後々タグを見て「なにこれ、見にくいわー」と自分で改行入れたりすることもあります。で。あとで、思い出したり・・・。
不便なので、ちゃんと調べてみて、かなり検索ヒットしたのですぐ解決です。色々と解決策を見つけましたが、どれが文法的にベストかは調べ中です。
IE6ではリスト内のaとかを、display:block;などでブロック化した場合、line-heightの解釈がおかしくなるようです。
◆解決策1
liタグに line-height:0;
liの中の aタグに、line-height:normal;
liの中の aタグに、line-height:normal;
◆解決策2
liの中の aタグに、zoom: 1;
他、例えば上記のリストを背景画像に指定した画像ボタンの場合は、
◆解決策3
liタグに vertical-align:bottom;
◆解決策4
ulタグかliタグに font-size:1px;
場合によるのですが。
メモ程度なので、説明が雑でゴメンナサイ。
色々と対策ありそうです。
とりあえず、IEには悩まされます。
今日は、電話でも先方さんが「一人ひとりのパソコンに入ってるIEを消して回るほうが楽ですよね・・」と愚痴をこぼしていて、本当にそうだなぁと思いました。
- 2009.03.14 Saturday
- WEBテクニカル
- 01:24
- comments(14)
- trackbacks(1)


- by Yuki

![京都で開催される、若手クリエイターのためのアートフェスタ:artDive[アートダイブ] 京都アートフェスタ2011](http://www.artdive.net/images/download/180-60N.jpg)