ちょっと個人的に感動したソースに出会ったので引用・解説します。
リストの中身の、数も幅もわからなくても中央揃えできるんだ~って感心したのです。
これでページネーションもフッターのメニューもスライダーの丸ポチも簡単に実現出来ます♪
地味に感動するソース
<ul id="pagination"> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><span>3</span></li> </ul>
何の変哲もないページネーション用リストです。
選択されてるものはaでなくてspanで囲みます。
ul#pagination { margin-bottom: 20px; text-align: center; }
親要素になるulにはtext-align: center;を指定しましょう。
ul#pagination li { display: inline-block; *display: inline; *zoom: 1; line-height: 1.2; margin: 0 3px; }
中身のliはインラインブロックを指定したいとこですが!インラインブロック、IE6,7では対応しとらんのです。
ですので、この二行が効いてきます!
*display: inline; *zoom: 1;
アスタリスクをプロパティ名の直前につけるハック。IE6,7向けです。
インラインブロック非対応のブラウザに対しては、display: inline;を指定。
ついでにzoom: 1; でhasLayoutを有効化してるのですね。
ul#menu li a, ul#menu li span { display: block; }
もしも背景を塗りつぶしたいなら、aやspanをブロック要素に指定してあげます。
これで背景が塗りつぶせます。
背景を塗りつぶさない場合、この指定は要りません。
関連情報
要素の間の隙間をあけたくないんだよ!なんて場合は、コチラも参考になさるといいと思います。
「ナビゲーションやリストなど、inline-block要素の間にできる隙間を解決する方法」
http://coliss.com/articles/build-websites/operation/css/css-tutorial-space-between-inline-block-elements-by-css-tricks.html
参考ページ
「IE 6とIE 7のためのCSSハック16選」
http://www.atmarkit.co.jp/fwcr/design/benkyo/csshack02/03.html
「IEでのCSSのバグを回避するhasLayout」
http://coliss.com/articles/build-websites/operation/css/143.html