IEバグ(?)|リストを入れ子にすると余白ができる
メモメモ。
liを入れ子にすると改行みたいな余白ができませんか??
こんな風にリスト入れ子にすると...
<ul>
<li>ケーキ<⁄li>
<li>クッキー<⁄li>
<li>
<ul>
<li>チョコチップ<⁄li>
<li>レーズン<⁄li>
<li>アーモンド<⁄li>
<⁄ul>
<⁄li>
<⁄ul>
IE6・IE7の表示はこう表示される
●ケーキ
●クッキー
●
○チョコチップ
○レーズン
○アーモンド
その他のブラウザの表示はこう表示される
●ケーキ
●クッキー
● ○チョコチップ
○レーズン
○アーモンド
こんな風に表示されることがあるようです。
これはバグというよりは解釈の違いですよね??きっと。
なので、IE6,7はトップに一行分余計なマージンが空きます。
解決方法
* html li.nested ul{margin-top:-1em;} /* IE6 */
*+html li.nested ul{margin-top:-1em;} /* IE7 */
ハックを使ってIE6.7にmargin-top:-1em;を指定する。
HTMLをいじらず解決するにはコレかなと、思います。
ine-heightを0にしても大丈夫だった気がしますが、ine-height:0はなるだけ使いたくないので、やっぱりmargin-top:-1em;がいいのかな、と思いました。
------
参考サイトhttp://gac.kir.jp/21/20999
------
追記 20091106
<ul>
<li>ケーキ<⁄li>
<li>クッキー
<ul>
<li>チョコチップ<⁄li>
<li>レーズン<⁄li>
<li>アーモンド<⁄li>
<⁄ul>
<⁄li>
<⁄ul>
●ケーキ
●クッキー
○チョコチップ
○レーズン
○アーモンド
にすれば、バグ出ないみたいです。。。
構文的にNGなのだと思ったていたら、どうやらOKみたいです。
W3CのHTML検証でもPassed でした。
確かにこのリストの意味的には
クッキーの種類にはチョコチップ、レーズン、アーモンドの3つがあるよ。
って感じなので、意味的にもこちらの方が正しい気がします。
ハックを使わずにも済むので、今度からはhtmlの組み方はこちらにしようと思います。
- 23.10.2009
- mayumi
- (0)
カテゴリー
月別アーカイブ
- 2011年9月(1)
- 2011年2月(7)
- 2011年1月(5)
- 2010年12月(3)
- 2010年11月(1)
- 2010年10月(1)
- 2010年9月(3)
- 2010年8月(12)
- 2010年7月(22)
- 2010年6月(11)
- 2010年5月(12)
- 2010年4月(13)
- 2010年3月(16)
- 2010年2月(13)
- 2010年1月(13)
- 2009年12月(16)
- 2009年11月(33)
- 2009年10月(26)
- 2009年9月(12)
- 2009年8月(18)
- 2009年7月(45)
- 2009年6月(14)
- 2008年12月(2)
- 2008年11月(1)
- 2008年10月(1)
- 2008年9月(2)
- 2008年7月(2)
- 2008年6月(2)
- 2008年5月(2)
- 2008年4月(3)
- 2008年3月(7)
- 2008年2月(10)
- 2008年1月(20)
- 2007年12月(9)
コメントする