【css】横幅が可変な要素を中央配置にする

widthを固定せずに中央配置

CSSの小ネタ

問題

要素を中央配置にするのはmargin:0 auto;と昔から相場が決まっているのですが、

これは横幅が固定されていないと効きませんでした。

ちょうどページネーションのような、プログラムで自動生成したような横幅が固定出来ない要素を中央配置にしたい、なんて時は上記のやり方では出来ませんでした。

解決策

中央配置にしたい要素にdisplay: inline-block;

親要素にtext-align: center;

を指定する事で解決します。

html

こんな感じのhtmlで、liをfloatで横並びにしてたりするじゃないですか?

で、childを幅を指定しないで中央配置にしたい時

css

親要素にtext-align :center;

該当要素にdisplay :inline-block;

単純に該当要素がinline-blockになったことで親要素のtext-alignを継承するようになるという解決策です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です