2012-02-12 10 views
1

各メニュー項目が可変幅である(横幅は要素の幅ではなくパッドで制御されます)、グラフィカルなナビゲーションメニューがあるとします。これは、テキストがブラウザによって異なるため、ulの幅を真に知ることができないことを意味します(中央に配置するため)。ディスプレイを使用する:中央のメニューとインラインディスプレイ:ブロック

私はどちらか

Aだろう今までは)ただ、目、それはとのmargin-left UL

B上を使用)が幅を計算するためにjqueryのを使用し、そのようにインラインスタイルとして設定し幅を設定することができますし、margin:auto'dとすることができます。

しかし、私はディスプレイを使うことができます:インラインで、フロートを使わずにうまく動作し、いつも中心になっています。誰かがこれについて聞いたことがありますか?彼は新種だし、それを説明できないので、あなたが思うものが好奇妙だ。彼はテキスト・アライメントを中心に考えていると言います。私はどのようにこれはメニューで動作するか分からない..テキストではない?

+0

を取得するために参照してください。それに対してマークアップを書くことです。コードを投稿すると、何が起こっているのかを説明するのに役立ちます。 –

+0

私は彼が何をしたかを見ています。次に彼はli要素を表示するように設定しました:inline;私はこれが、ブラウザが各リストアイテムがテキストであると思って、それから可変幅のリスト項目を適切に集中させると考えています。 – Tallboy

答えて

2

任意のテキストレベルの要素が中央することができます。親要素に従って中央に配置されます。ブロックレベル要素でなければなりません。

ul#ul{text-align:center;} 
ul#ul li{display:inline;} 

このCSSを使用

次のメニューを中心にすることができ

<ul id="ul"> 
<li>one</li> 
<li>two</li> 
<li>January</li> 
<li>September</li> 
</ul> 

は、CSSで何かを中心にするなど多くの方法がなどがあります。このjsfiddleアイデア

+0

)これは完全に有効/準拠/クロスブラウザのhtml/cssですか?どのように私はこれを聞いていない....気に... – Tallboy

0

display:inlineまたはdisplay:inline-blockulli秒を設定し、text-align:centerulのコンテナを設定します。 inline-blockで正常に動作するように、いくつかの古いバージョンのIEにはzoom:1を追加する必要があります。

は推奨読書​​:

+0

-1 'li'の中心に垂直に表示されます。 OPはそれを必要とする_horizo​​ntally_。 –

+0

修正されました。ありがとう! (: – egasimus

関連する問題