幅を固定せず、ブロックの中央寄せ


display:inline-blockなら可変幅で、内包する要素にtext-align:centerを指定することで、中央寄せすることもできます。ですが、改行されないので、要素を中央寄せして縦に並べようとしたのに、幅によっては横に並んでしまうことがあります。

そこで、可変幅にしつつ、改行が入るようにするためにdisplay:tableを使います。

.test {
display: table;
margin:0 auto;
}