2011-03-03 12 views
0

このページのサブメニューを2つの線の間に垂直に配置したいと考えています。divを垂直に合わせる

http://complete.sanscode.com/Landscape.

マスタープランニングを言う部分を見ます|私はjqueryを使ってそれを中心にしたいと思います。誰がどのように知っていますか?

編集:メニューは複数の行にすることができます。

ジェイソン

+1

に答えます。どうしてCSS {text-align:center;}でないのですか – s84

+0

すみません。私はここでは垂直の中心、水平の中心ではありません。 – Jason

+0

メニューは1行以上にすることができるので、行の高さが問題を引き起こす可能性があります。したがって、jquery。 – Jason

答えて

4

おかげでジャスト固定値にCSS line-heightを設定:http://jsfiddle.net/simevidas/yHJjx/

+0

行の高さを含む要素の高さと同じに設定すると、テキストが垂直方向に中央に配置されますが、テキストが2行にオーバーフローすると(たとえば、ユーザーがテキストを拡大した場合など)テキストは失われます。 – Moses

+0

@Moses ...コンテナ要素の高さが設定されている場合のみ。行の高さのみを設定すると、コンテナの高さは行の高さに基づいており、テキストが2行目にオーバーフローした場合、コンテナは2つの行を囲むように拡大します。 –

+0

@ŠimeVidas、あなたのレイアウトはまだ壊れています –

0

あなたはただ、その垂直方向の中心にするために適切なコンテンツにCSS属性「行の高さ」を設定することができます試してみてください

1

固定高さ領域に要素を中心に配置したいと思っていることから、

また、ブラウザウィンドウも縮小すると、ナビゲーションが画面から離れます。 Idは後にある固定幅のコンテナdivを追加し、autoをcenterにマージすることを検討します。トピックからやや離れていますが、要素を管理しやすくする必要があります。

+0

メニューが2行の場合、問題が発生します。あなたの他のアドバイス、良い点をありがとう。 +1 – Jason

1

#navigationのIDから上部のパッドを削除し、line-height:120pxを追加してください。このためにjQueryは必要ありません。

#navigation { 
height:120px; 
line-height:120px; 
padding:0 1em 0 0; 
width:720px; 
} 
+0

ねえメイト、問題はメニューが2行に伸びることができることです。行の高さでこれを説明する方法はありますか? – Jason

+0

@jasonメニューを2行に伸ばしてはいけません。良い習慣ではありません。 2行が必要な場合は、テンプレートをレイアウトする別のアプローチをとる必要があります。この質問の目的のためにあなたの問題を解決します。 – Hussein

+0

笑、 "良いことではありません" ...それは少しランダムです。それをサポートするためのドキュメントがありますか? +1の努力が、私は具体的にjavascriptを求めているので、残念ながら私は答えとしてこれを受け入れることはできません。 – Jason

1

私はテーブルをあきらめました。

http://giveupandusetables.com/

が、行の高さのものがトリックをした、上記を参照してくださいあなたがこれを行うにはjQのが必要なのか、なぜ

関連する問題