• ベストアンサー

CSSでのリストのマージン記述について

リストのマージンを左に他のli行と比べ、120pxずらして表示したい場合、 CSS表記を、 あらためて、クラスliを作って、margin : 0 0 0 120 ; としましたが、うまくいきません。 margin-left : 120px ; もダメでした。 ご存知の方、教えてください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • torayoshi
  • ベストアンサー率62% (910/1449)
回答No.3

.m120 li を li.m120 としてみてください。 これはセレクタの優先順位に関係してるのかも知れません。

noname#135595
質問者

お礼

出来ました!! ありがとうございました。 継承?とかそういうのが、あるんですよね?! よくわからなくてやっているので、 助かりました!! ありがとうございました。

その他の回答 (2)

  • torayoshi
  • ベストアンサー率62% (910/1449)
回答No.2

考え方はそれで合ってると思います。 (margin:0 0 0 120px;は「左から」時計回りですよ ^^;) なんか複雑なリストなんでしょうか。 ↓こんな感じでうまくいきませんか? .li-lmove{ margin:0 0 0 120px; } <ul> <li class="li-lmove">項目1</li> <li>項目2</li> <li>項目3</li> <li>項目4</li> <li>項目5</li> </ul>

noname#135595
質問者

お礼

早速の回答ありがとうございます。 おっしゃる通りの意味合いであっています。(私のしたいことは、伝わっているようです)が、出来ません。。。 再度、ご教授していただけるとありがたいのですが、 補足のほうに、再度書きますので、 できましたら、お手数ですが、よろしくお願いします。 頼ってすみません。

noname#135595
質問者

補足

下記に記載しましたが、出来たら教えてください。 助かります。よろしくお願いします。 .site { margin: 0 0 10px 0; padding: 8px 8px 10px 8px; } .site ul { margin: 0; padding: 0 0 4px 0; } .m0 li { margin: 0; padding: 3px 0 3px 0; } .m120 li { margin: 0 0 0 120px; padding: 3px 0 3px 0; } そして、 <div class="site"><ul class="site"> <li class="m0">マージンなし</li> <li class="m120">右に120pxずれる</li></ul></div> こんなかんじにしました。 もしかしたら、ソフトが固まっているかもしれません。 ちょっと、反応が鈍くて、文字サイズを変えても、 変わらなくって、しまってきています。。。

  • torayoshi
  • ベストアンサー率62% (910/1449)
回答No.1

通常どんな要素でも「左端から」が初期値だから「左にずらす」ことは出来ないでしょう。 左にずらしたいliを初期値にして他のliを「右に120pxずらす」と 「左にずらしたいli」が「120px左にずれてるように」見せることは出来ますが。

noname#135595
質問者

お礼

ありがとうございます。 左ではなく、右にずらしたいのです。 間違えました。 できたら、右へ120pxずらす方法を教えてください。 よろしくお願いします。

noname#135595
質問者

補足

できれば、 margin : 0 0 0 120 ; のどこが間違っているのか教えてほしいです。 右から、上、右、下、左の指定で合っていると思うのですが。。。

関連するQ&A