2012-02-23 4 views
0

基本的には、コンテナ内で1600pxのコンテナを940pxにセンタリングする方法を探しています。小さいコンテナ内で大きなコンテナをオーバーフローさせてセンタリングする

私はページを常に中央に置いておき、サイトの主なコンテンツは940ピクセル幅にします。私は1600pxの画像を持っています。画像を追加するだけで、画像は940pxのコンテナに残っていて、660pxにオーバーフローします。例は下の画像を参照してください。私が欲しいもの

example #1

940pxコンテナ内の中央に画像であり、実際にIE8が優しい事前にされていない複数の背景画像を、追加するための保存、私は途方に暮れています。

私はこれまでこれを行う必要はなかったので、この問題に遭遇したことはありません。

今、私はページを1600pxのマスターコンテナに設定しました。これはうまくいきますが、ページを開くと、1600pxコンテナの一番左にページが始まり、メインコンテンツは非中央に表示されます。

以下の例2は私が探しているものです。

example #2

すべてのヘルプは大歓迎です。おかげでみんなとギャル!

+1

あなただけの身体の背景に1600px画像を設定していない理由を私は理解していません。 – j08691

+1

はい、あなたはそれを行うことができ、ちょうどメインのコンテンツの左右にパディングを設定します。 OPは何を達成したいのかによって異なります。 –

+0

私は、すでに背景画像があると述べていたはずです。それは100%で伸びており、CSS3のマルチ背景画像を使用していないことがあります。これは、ie8以前には動作しないと信じています。これはうまくいくと思っていました。 –

答えて

0

それとも、ただ次の属性を使用してページへ1600年のコンテナを相対的にセンタリングできます

left: 50%; 
margin-left: -800px; 
+0

これはページを右に押してもロードされますか?私は940pxコンテナのメインコンテンツを中心にしたいと思います。私はそれを試してみようと答えてくれてありがとう! –

+1

これは機能しました。私のイメージはimg srcファミリではなく、背景イメージだったので、これを使用しなければなりませんでした。だからあなたはチェックマーク:) :)おかげで仲間を取得します。 私は左にページを設定しませんでした:50%しかし、私は余白を330pxのままにしました。 –

0

画像にマイナスのマージンを設定できます。 Javascriptを使用して実際の数値を計算することはできますが、940の中で常に1600になる場合は、330pxのマイナスマージンを設定することができます。

(コンテナ幅 - コンテンツ幅)/ 2 =左マージン

#container img { margin-left: -330px; } 
0

あなたは2(= 660px 1600から940)との差を取る、その後、両方のdivの幅を取得するにはJavaScriptを使用することができます。センタリング(330ピクセル)のためにそれを2で割ります。その後、コンテナをその分だけ残してください(-330ピクセル)。

関連する問題