リスト全体の余白を調節する

[新着] TAG indexオフライン版 3.0 を準備中です


margin: ***; padding: ***;

ブラウザ
Internet Explorer Netscape Firefox Opera
参考
書式基本 要素名 クラス ID

margin はマージン(外側の余白)を、padding はパディング(内側の余白)を指定するプロパティです。

ul 要素(または ol 要素)にこのプロパティを設定すると、リスト全体の余白を指定することができます。


ul {
margin: 0 0 0 20px;
padding: 0;
}


margin マージンの大きさを指定します
padding パディングの大きさを指定します

マージンとパディングの大きさは、数値+単位(px、他)か %(割合)で指定します。(マージンの場合はauto(自動)も指定できます)

マージンとパディングの指定については、下記のページをご覧ください。

【ブラウザによる違い】

ul 要素(または ol 要素)にマージンやパディングを指定すると、リストマーク(マーカー)がはみ出てしまったり、ブラウザによって表示位置が異なってしまう場合があります。

この問題は、マージンとパディングを次のように指定することで回避できます。

ul {
margin: 0 0 0 1em;
padding: 0;
}

パディングを0にした上で、左のマージンを指定します。
※左マージンは、少なくともリストマーク1つ分以上の大きさが必要です。


【参考:余白の比較】

ul 要素にマージンやパディングを指定した場合の、ブラウザごとの表示の違いを比較してみました。

ベースのコードは次の内容になります。

<div style="border: 2px red solid;">

<ul style="border: 1px blue solid;">
<li style="border: 1px lightgreen solid;">リスト</li>
<li style="border: 1px lightgreen solid;">リスト</li>
<li style="border: 1px lightgreen solid;">リスト</li>
</ul>

</div>

※違いを分かりやすくするために、各要素に枠線を付けています。

div要素 … 赤い枠線(親ボックス)
ul 要素 … 青い枠線(リスト全体)
li 要素 … 緑の枠線(リストの項目)

表示モードは「互換モード」で確認しています。(Operaの場合、「標準モード」にすると下側のマージンの解釈がIEと同様になるようです。)
※Netscapeの表示例は、Firefoxの表示と変わらないため省かせていただきました。

デフォルト(margin や padding の指定なし)

IE 6 Firefox 1 Opera 8
IE Firefox Opera

IEとFirefoxで大きく異なる点は、リストマークが青い枠線(ul要素)の内側にあるか、外側にあるか、です。リスト左側の扱いは、IEではマージンが入り、Firefoxではパディングが入ります。

margin: 0 を指定した場合

IE 6 Firefox 1 Opera 8
IE Firefox Opera

IEの場合、青い枠線の外側にリストマークがあるので、マージンを0にするとリストマークがはみ出てしまいます。Firefoxの場合は、左側にパディングが入るためリスト全体が左に寄りません。

padding: 0 を指定した場合

IE 6 Firefox 1 Opera 8
IE Firefox Opera

IEの場合、元々パディングがないためデフォルトと変化はありません。Firefoxの場合は、青い枠線(ul要素)と緑の枠線(li要素)がくっつく形になるので、結果的にリストマークがはみ出てしまいます。

margin: 0 と padding: 0 を指定した場合

IE 6 Firefox 1 Opera 8
IE Firefox Opera

マージンとパディングを0にすると、IEとFirefoxの表示がだいたい同じになります。しかし、どちらもリストマークがはみ出てしまいます。

margin: 0 0 0 1em と padding: 0 を指定した場合

IE 6 Firefox 1 Opera 8
IE Firefox Opera

左側にリストマーク分のマージンを入れると、リストマークははみ出しません。IE、Firefox、Opera、どのブラウザも同じように表示されます。

青い枠線(ul要素)と緑の枠線(li要素)を消してみると、次のように表示されます。

IE 6 Firefox 1 Opera 8
IE Firefox Opera

使用例

<html>
<head>
<title>TAG index Webサイト</title>

<style type="text/css">
<!--

div {
margin-bottom: 20px;
border: 1px #808080 solid;
}


ul { padding: 0; }

#example1 { margin: 0 0 0 1.5em; }
#example2 { margin: 10px 0 10px 50px; }


-->
</style>

</head>
<body>

<div>
<ul id="example1">
<li>WebデザイナーA</li>
<li>WebデザイナーB</li>
<li>WebデザイナーC</li>
</ul>
</div>

<div>
<ul id="example2">
<li>WebプログラマーA</li>
<li>WebプログラマーB</li>
<li>WebプログラマーC</li>
</ul>
</div>

</body>
</html>

これをブラウザで見ると次のように表示されます

  • WebデザイナーA
  • WebデザイナーB
  • WebデザイナーC
  • WebプログラマーA
  • WebプログラマーB
  • WebプログラマーC


[特集] レンタルサーバー比較 & サーバー選びのチェックポイント

サイト内検索について - ベーシック版