5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[css] listを縦並びのまま中央寄せする方法

Last updated at Posted at 2017-04-24

文章行頭は左揃えのままリストコンテンツを中央寄せにする方法をメモっておく。

色々な記事みて探ったけど、このやり方が一番いいっぽい。
ulにfloatかけてるので親要素で解除するのを忘れずに:ok_hand:


ul {
   float:left;
   position:relative;
   left:50%;
}

li {
   position:relative;
   left:-50%;
}
  • ulにfloatをかけてリストコンテンツの横幅をコンテンツ内要素の幅と一致させる
  • ulにposition: relative;left: 50%;でliコンテンツの起点を親要素の中央に
  • その後にliにposition: relatibeleft: -50%;でliコンテンツ幅の半分を右に寄せること全体が中央寄せになる

この方法ならコンテンツの中身やデバイスサイズに依存せずに中央寄せできるので便利!

追記

  • スマホサイトの場合、left: 50%;で左にずらした分、コンテンツが画面幅をオーバーしてしまう場合がある
  • ::afterclear: both;入れる方法でfloatを解除すると画面が横にうにょうにょ動いちゃう
  • なので親要素にoverflow:hideen;つけて解除する方が良いみたい
5
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?