2004.12.03

リスト要素のマージンを0にする

Office Wordの箇条書きのように、HTMLでもulタグとliタグを使って、箇条書きとして文を表示する事ができます。
ブラウザはこの箇条書きを表示する際、ある程度のインデントを付けて表示します。
黒い丸(ブラウザによっては白い丸)の左に余白がありますよね。インデントが付いている状態です。

  • listです。
  • listです。

Webページのデザイン上、このインデントが付いていることによって、思うとおりにデザインできないことがあります。
例)細長いスペースにリストを表示する場合やリストを縦ではなく、横に並べたい場合など。

この悩みを解決するにはスタイルシートで、左マージンを0にします。

ul { margin-left: 0px; }

Internet Explorerではこれだけでインデントが解消されるのですが、Netscapeでは解消されません!
そこで、左の余白も0にします。

ul { margin-left: 0px; padding-left: 0px; }

これで両方のブラウザで期待通りの表示になりました。

  • listです。
  • listです。

が、マージンと余白を0にすると、IE5.5の場合、黒い点が外にはみ出ました。
……。

気を取り直して、黒い点の位置を復活させる方法をお話しましょう。

私が期待するのは、黒い点の左がページの一番左側(このBlogで言うと、赤い点線)に接することです。
その為にはpositionを内側にすれば解決します。

ul { margin-left: 0px; padding-left: 0px; list-style-position: inside; }

  • listです。
  • listです。

一件落着です。

トラックバック

このエントリーのトラックバックURL:
http://www.ilovex.co.jp/scripts/intra/mt/mt-tb.cgi/239

photo
admin