http://www10.plala.or.jp/palm84/css_memo_list.html
赤線がul,ol要素の枠、青線はli要素です。
枠線以外の見た目はそれ程差はないと思いますけど、IE6/7で見るとなんかおかしいですね。IE7では margin-left
を指定して記号・数字を表示させている模様です。
Opera9,Firefox2では padding-left
が設定されていました。ネストは0設定みたいです?
Opera9,Firefox2では上下 margin
が1em 左右margin
は0。
ul,ol { margin: 0; padding: 0; border: 1px solid red; } ul ul,ul ol,ol ul,ol ol { margin: 0; padding: 0; } li { margin: 0; padding: 0; border: 1px solid blue; }
記号・数字がはみ出しちゃってますね。つまり、記号・数字は枠に含まれていないってことですか。
IE7の初期状態では paddin-left
ではなく margin-left
の値が設定されているので、ブラウザごとの表示を統一するためには、margin
, padding
をきっちり指定しておく必要があるみたいですねん。うんうん。
padding-left
を指定する。2em程でギリギリかな。margin
, padding
は0にする
font-size:0.8em
と指定した場合、ネストするとどんどん小さくなるので、ネストに font-size:1em
を指定しておくline-height
で調整
line-height
は折り返し用に小さく設定、li要素の margin-top
, margin-bottom
を設定した方がいいかもしれないul,ol { margin: 1em 0; padding: 0 0 0 2.5em; font-weight: normal; line-height: 120%; } ul ul,ul ol,ol ul,ol ol { margin: 0; padding: 0 0 0 1em; font-size: 1em; } li { margin: 0.2em 0; padding: 0; }
実際に書く場合は、記号・表示が枠外であってもページに表示されればいいわけですから、ページの状態に合わせて左padding
だけ調整しやがってくださいまし、ってかんじですか。
最終更新日:2010.5.5
margin や border など 上下左右を指定する場合