自分でちょっと中央揃えの方法についていろいろ考えるところがあったので 現在CSSで出来る中央揃えの方法をまとめてみました。

1.position absolute + ネガティブマージン

この方法は高さが決まっていることが前提。 中央に寄せるものの半分の長さのネガティブマージンを加えます。

2.display:table-cell

display:table-cellを外側に適応すると、vertical-alignが使えます。 中身はinline要素である必要があるので、display:inline、display:inline-boxのどちらかにする必要がある。 table-cellを適応するとtdと同じような形になるので幅の指定などに注意が必要かも。

3.translate:transition

こちらの記事で紹介されていた方法です。

[CSS]パーセントで指定された正確なサイズが不明な要素を天地左右の中央に配置するスタイルシートのテクニック | コリス
IE10以降ならこの方法を適応出来ます。translate:transitonでマイナスの値を与える方法。

4.display:box

こちらの記事で紹介されていた方法です。

CSS3のFlexboxでパーセントで指定された要素を天地左右の中央に配置する - to-R

フレキシブルボックスを使ったもの。モダンブラウザ推奨 flexboxのプロパティ名などがころころと変わっているようです。 外側にdisplay:boxをかけて、さらにbox-pack: center、box-align: centerを指定する必要があります。

どのブラウザに対応するか、状況によってどれが使えるか考えて適応する必要がありそうです。 状況に合わせて使い合わせていきたいですね。