floatで並べたliタグ内の項目を中央寄せ(センタリング)する方法

中央寄せ

フッターのメニューやページャなど、リンクを並べている箇所は通常liタグでコーディングすると思います。pタグとかで適当に並べてもいいのですが、SEOの関係で今はほぼ全てのサイトでliタグが採用されているはずです。

ただ、困るのがメニューを中央寄せにしたい時。単純にfloatで左寄せにするだけだと左に張りつき、テキストを中央寄せにしてみても状況は変わりません。display:table;とかinline-blockとかを使ってもいいのですが、それだとIEがダメで振り出し…というオチが待っています。

実はliタグを中央寄せにするにはちょっとしたテクニックが必要です。以下にソースコードを記載しておきますので、参考にしてみてください。

HTML

<div id="menu">
	<ul>
		<li><a href="#">リンク1</a>|</li>
		<li><a href="#">リンク2</a>|</li>
		<li><a href="#">リンク3</a>|</li>
		<li><a href="#">リンク4</a>|</li>
		<li><a href="#">リンク5</a></li>
	</ul>
</div>

CSS

#menu{
	position:relative;
	overflow:hidden;
}
#menu ul{
	position:relative;
	left:50%;
	float:left;
}
#menu li{
	position:relative;
	left:-50%;
	float:left;
}

デモ

上記ソースコードをそのまま表示したデモページを作りました。

【デモ】floatで並べたliタグ内の項目を中央寄せ(センタリング)する方法

※リンク色やフォントの大きさ、区切り線の有無等は各自で変更してください。

関連記事

ウェブメディア運営のコツ

サイドバーに固定表示しても良いクリック型広告3選

気づいたらサイドバー固定がNGとなっていたGoogle Adsense。これで結構利益が減ったサイト運営者は多いのではないかと思います。 Google Adsenseではなく、サイドバーに固定表示できるクリック型広告はないだろうか?と調べてみると、日本が提供しているクリック...

HTML・CSS講座

【HTML5+CSS3】グラデーションありのプログレスバーを実装する方法

この前ちょこちょことCSSをいじりながら遊んでいたら、けっこういい感じのプログレスバーが作れたので公開しておきます。 CSS3を使ったプログレスバーの作り方 HTML 実際に作ってみると、それほど難しくありません。まずはdivタグでバーの外側を作り、spanタグ...

ウェブメディア運営のコツ

【2014年8月版】商用利用可能な無料のレスポンシブウェブデザインテンプレートを配布しているサイト3選

私は副業のため毎月1、2サイト立ち上げているのですが、サイトのデザインをどうするかでいつも悩んでいます。毎回同じテンプレートを使うのは芸がないし、かといって外部委託するには予算が足りない。万が一委託する余裕があったとしてもハズレた時には即閉鎖するので、もったいないことこの上ないの...

ウェブメディア運営のコツ

ちょっとした革命?会員登録なしでGetty Imagesの写真が無料で埋め込みできるようになったので早速試してみた

マスメディアをはじめとしたプロ向けに写真を提供してきたGetty Images(ゲッティ・イメージズ)が写真の埋め込み機能の提供をはじめました。サイズが変更できないことやコピーライトの表記必須といったの制約はあるものの、今まで高いライセンス料を払わないと使えなかった写真が...